linux日常維護(網絡相關,防火墻,netfirter介紹,netfirter語法)
ifconfig 查看網卡ip (centos6是默認有的,centos7裏沒有,需要下載 yum install net-tloos)
關閉網卡: ifdown +網卡 (關閉後沒有ip)
打開網卡 ifup +網卡
重啟指定的網卡。如果網卡正在遠程連接,不要直接ifdown網卡,如果服務器不在身邊,過程很繁瑣,
應該執行 ifdown +網卡 && ifup +網卡
設置一個虛擬網卡的步驟:
1.到網卡配置目錄
[root@abc ~]# cd /etc/sysconfig/network-scripts/
2.拷貝真實的網卡,註意改名:
[root@abc network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:0
3.編輯虛擬網卡配置文件:(需要改以下配置)
NAME=ens33:0
DEVICE=ens33:0
IPADDR=192.168.52.50
去掉dns和網關
4.重新啟動服務,也可以重新啟動網卡
ifdown ens33 && ifup ens33
mii-tool +網卡名字 看看是否為link ok
也可以用ethtool +網卡名 查看最後一行link detected是否為yes
修改hostname
永久修改命令
[root@abc ~]# hostnamectl set-hostname + 自定義名字
退出當前環境從新登陸即可查看,或者直接查看/etc/hostname
[root@abc ~]# cat /etc/hostname
litongyao
dns配置文件
[root@abc network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
search abc.com
nameserver 119.29.29.29 (是由網卡配置文件裏來的)
/etc/hosts
ip + 域名(可以是多個域名,如果是多個ip的話。以靠文件後的一個為準)
hosts文件的作用相當於DNS,提供IP地址hostname的對應。早期的互聯網計算機少,單機hosts文件裏足夠存放所有聯網計算機。不過隨著互聯網的發展,這就遠遠不夠了。於是就出現了分布式的DNS系統。由DNS服務器來提供類似的IP地址到域名的對應。Linux系統在向DNS服務器發出域名解析請求之前會查詢/etc/hosts文件,如果裏面有相應的記錄,就會使用hosts裏面的記錄。
2.linux防火墻
selinux臨時關閉
getenforce 查看Linux關閉或打開
setenforce 0
##設置SELinux 成為permissive模式,遇到需要阻斷的時候,不會真的阻斷,而是會提醒並記錄
selinux 1
##設置SELinux 成為enforcing模式,打開selinux
永久關閉
[root@abc network-scripts]# vim /etc/selinux/config
SELINUX=disabled
另外一個防火墻。centos7之前的版本使用netfilter,centos7的時候使用firewalld 內部機制都是-->iptables
一般都處於關閉狀態,不會有太大的安全隱患。打開會增加我們的運營成本。在centos7上也可以運行netfilter,需要關閉firewalld並讓它開機不啟動。
[root@abc network-scripts]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@abc network-scripts]# systemctl stop firewalld
然後安裝netfilter
[root@abc network-scripts]# yum install -y iptables-services
打開netfilter
[root@abc ~]# systemctl start iptables
3.
netfilter的5個表,
(一)filter表用於過濾包,包含了三個內置鏈,
INPUT 數據包進來本機的時候要經過的鏈
FORWARD 目標地址不是本機的話,要經過的鏈
OUTPUT 在本機的包出去之前要經過的鏈
(二)nat表用於網絡地址轉換,也包含了三個鏈。()
PREROUTING 進來的一刻更改數據包
OUTPUT 在本機的包出去之前要經過的鏈
PUSTROUTING 出去的一刻更改數據包
(三)mangle表 用於給數據包做標記,幾乎用不到
(四)raw表可以實現不追蹤某些數據包
(五)security在centos6中沒有,用於強制訪問控制(MAC)的網絡規則
iptables傳輸數據包的過程
① 當一個數據包進入網卡時,它首先進入PREROUTING鏈,內核根據數據包目的IP判斷是否需要轉送出去。
② 如果數據包就是進入本機的,它就會沿著圖向下移動,到達INPUT鏈。數據包到了INPUT鏈後,任何進程都會收到它。本機上運行的程序可以發送數據包,這些數據包會經過OUTPUT鏈,然後到達POSTROUTING鏈輸出。
③ 如果數據包是要轉發出去的,且內核允許轉發,數據包就會如圖所示向右移動,經過FORWARD鏈,然後到達POSTROUTING鏈輸出。
參考文章:http://www.cnblogs.com/metoy/p/4320813.html
4.filter介紹
[root@abc ~]# iptables -nvL (查看iptable規則)
默認保存規則在/etc/sysconfig/iptables文件下保存
[root@abc ~]# iptables -F (清空規則,但是並不會保存在文件裏,重啟服務後規則又都回來了)
[root@abc ~]# service iptables save (保存新規則到文件裏)
iptables -nvL -t //指定表 (查看指定表的規則,如果不指定表,則默認是filter表)
iptables -Z 可以把計數器清零 (可以把計數器清零)
iptables -nvL --line-number 顯示規則的序列號(刪除規則時直接加序列號即可,不用敲全部命令)
-A 增加規則到最後面 (一般而言,最後一條規則用於丟棄(DROP)所有數據包。)
-I 把規則插入到最前面 (過濾時優先過濾最前面的)
-D 刪除規則
-P 默認的規則
-s 源地址,可以是ip地址,網絡地址,主機名
-d 目標地址
-j 執行目標
-i 輸入接口,指定了處理那個接口的數據包(-i eth0 指定經由eth0進入的數據包)!-i eth0 處理除 eth0以外的數據包
-o 輸出接口,(和輸入接口規則相同)
-p 指定規則,是tcp還是udp,如果不指定,則默認是all
--sport 源端口 可以指定端口號,或者端口名稱,例如“-sport 22”“-sport ssh”
--dport 目的端口
DROP和REJECT都是把IP封掉,區別是:
DROP是數據包過來後看都不看直接扔掉
REJECT是數據包過來後看一下,然後禮貌的告訴你,對不起你不能進入
ACCEPT 允許進入
linux日常維護(網絡相關,防火墻,netfirter介紹,netfirter語法)