5月8日
10.11 Linux網路相關
1. ifconfig檢視網絡卡ip(如果沒有這個命令請使用yum install net-tools安裝)
2、重啟網絡卡:
命令:service network restart或者ifdown eth0 && ifup eth0
ifdown 即停掉網絡卡,ifup即啟動網絡卡。有一點要提醒你的是,如果我們遠端登入伺服器,當使用ifdown eth0這個命令的時候,很有可能後面的命令ifup eth0不會被執行,這樣導致我們斷網而無法連線伺服器,所以請儘量使用service network restart或ifdown eno16777736 &&ifup eno16777736
3.一個網絡卡設定多個IP
設定虛擬網絡卡eth0:1
3.1 先進入:cd /etc/sysconfig/network-scripts/
3.2 再拷貝備份網絡卡:cp ifcfg-eth0 ifcfg-eth0\:1 //複製網絡卡配置檔案,並取一個新的網絡卡名,這裡加反斜槓(\)是因為要把:轉義,不然linux命令無法識別。
3.3 然後編輯網絡卡配置資訊:vim ifcfg-eth0:1
3.4 配置ifcfg-eth0新增另外的IP地址如下:
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy
3.5 重啟網絡卡檢視多出來的網絡卡資訊:ifdown eth0:1 &&ifup eth0:1
4、檢視網絡卡是否連線 命令如下:
mii-tooleth0 //link ok表示連線正常
ethtooleth0//最後一行顯示link detected:yes說明網絡卡正常,如果顯示為no,說明網絡卡壞或沒有連線網線
5、更改主機名:hostnamectl set-hostnamepme(這個命令可以直接更改/ect/hostname檔案只適用centos7)
使用hostname命令就可以知道你的linux的主機名是什麼。hostname pme命令這樣修改只是儲存在記憶體中,下次重啟還會變成未改之前的主機名,所以需要你還要去更改相關的配置檔案 /etc/hostname.
6.DNS配置檔案: cat /etc/resolv.conf
6.1 如果要修改dns,則要進網絡卡配置檔案裡面修改並重啟網絡卡即可:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
6.2 臨時更改DNS :vim /etc/resolv.conf
6.3 /etc/hosts
在linux下有一個特殊檔案/etc/hosts可能解析域名,不過需要我們在裡面手動新增ip與域名,它的作用是臨時解析某個域名,非常有用。
注意: 1. 一個IP後面可以跟多個域名,可以是幾十個甚至上百個。 2. 每一行只能有一個IP,也就是一個域名不能對應多個IP。 3. 如果有多行中出現相同的域名(對應的IP不一樣),會按最前面出現的記錄來解析。
實驗:
[[email protected] ~]#cat /etc/hosts //檢視檔案內容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[[email protected] ~]#ping www.qq123.com
PING www.qq123.com (202.91.250.93) 56(84) bytes of data.
64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=1 ttl=231 time=30.3 ms
64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=2 ttl=231 time=30.2 ms
64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=3 ttl=231 time=30.2 ms
--- www.qq123.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 30.227/30.284/30.395/0.162 ms
[[email protected] ~]#vim /etc/hosts //編輯檔案把上面這個域名指向的ip更改成192.168.1.190,儲存退出
[[email protected] ~]# ping www.qq123.com //驗證域名指定IP
PING www.qq123.com (192.168.1.190) 56(84) bytes of data.
64 bytes from www.qq123.com (192.168.1.190): icmp_seq=1 ttl=64 time=0.152 ms
64 bytes from www.qq123.com (192.168.1.190): icmp_seq=2 ttl=64 time=0.086 ms
64 bytes from www.qq123.com (192.168.1.190): icmp_seq=3 ttl=64 time=0.060 ms
10.12 firewalld和netfilter
1. SElinux selinux是Linux系統特有的安全機制,因為這種機制的限制太多,配置也麻煩,所以幾乎沒有人真正的應用它。安裝完系統後我們一般會選擇關閉selinux。
以使用 getenforce 命令獲得當前selinux的狀態:
1、selinux臨時關閉 :setenforce 0
2、selinux永久關閉: vi /etc/selinux/config (/把enforcing改成disabled)重啟生效
3.netfilter和firewalld 在centos版本5和6上用的防火牆是netfiler,centos7則用的是firewalld防火牆,很多人把Linux的防火牆叫作iptables,其實這不是,iptables僅僅是一個工具。目前現在很多企業依然在使用centos6,但firewalld是向下相容netfiler的,同樣也支援之前版本的命令用法。
3.1 關閉firewalld開啟netfilter方法:
(1)systemctl disable firewalled//禁止firewalld服務開機啟動
(2)systemctl stop firewalld //關閉firewalld服務
(3)yum install -yiptables-services//安裝iptables-services,這樣就可以使用之前版本的iptables了。
(4)systemctl enable iptables //讓它開機啟動
(5) systemctl start iptables //啟動iptables服務
10.13 netfilter5表5鏈介紹
netfilter5表5鏈介紹 netfilter的5個表 1. filter表用於過濾包,是系統預設的表,也是最常用的表,該表有內建三個鏈INPUT、 OUTPUT、FORWARD。 - INPUT鏈作用於進入本機的包。 - OUTPUT鏈作用於本機送機的包。 - FORWARD鏈作用於那些跟本機無關的包。 2. nat表用於網路地址轉換,有PREROUTING、OUTPUT、POSTROUTING三個鏈。 - PREROUTINC鏈的作用是在包剛剛到達防火牆時改變它的目的地址(如果需要的話) - OUTPUT鏈的作用是改變本地產生的包的目的地址。 - POSTROUTINC鏈的作用是在包即將離開防火牆時改變其源地址。 3. 資料包流向與netfilter的5個鏈 - PREROUTING:資料包進入路由表之前。 - INPUT:通過路由表後目的地為本機。 - FORWARD:通過路由表後,目的地不為本機。 - OUTPUT:由本機產生,向外發出。 - POSTROUTING:傳送到網絡卡介面之前。 4. 具體的資料包流向,可以參考下圖。
5.參考文章iptables詳解:http://www.cnblogs.com/metoy/p/4320813.html
netfilter/iptables(簡稱為iptables)組成Linux平臺下的包過濾防火牆,與大多數的Linux軟體一樣,這個包過濾防火牆是免費的,它可以代替昂貴的商業防火牆解決方案,完成封包過濾、封包重定向和網路地址轉換(NAT)等功能。
規則(rules)其實就是網路管理員預定義的條件,規則一般的定義為“如果資料包頭符合這樣的條件,就這樣處理這個資料包”。規則儲存在核心空間的資訊 包過濾表中,這些規則分別指定了源地址、目的地址、傳輸協議(如TCP、UDP、ICMP)和服務型別(如HTTP、FTP和SMTP)等。當資料包與規 則匹配時,iptables就根據規則所定義的方法來處理這些資料包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火牆的 主要工作就是新增、修改和刪除這些規則。
這是第一個要說的地方,Iptables和netfilter的關係是一個很容易讓人搞不清的問題。很多的知道iptables卻不知道 netfilter。其實iptables只是Linux防火牆的管理工具而已,位於/sbin/iptables。真正實現防火牆功能的是 netfilter,它是Linux核心中實現包過濾的內部結構。
10.14 iptables語法
1. iptables已經有預設規則,我們可以用以下命令檢視。但是我們在設定自己的規則之前,建議先將其清除。-nvL選項表示檢視規則,-F選項表示清除當前規則,但清除只是臨時的,重啟還是會載入已經儲存的規則,所以需要使用service iptables save儲存一下規則。通過下面這個命令輸出,我們也可以看到防火牆規則儲存在/etc/sysconfig/iptables裡,可以檢視下這個檔案。
1.1 檢視iptables規則:iptables -vnL
1.2 清空規則命令:iptables -F
1.3 永久儲存規則命令: service iptables save 會把規則儲存到 /etc/sysconfig/iptables
1.4 命令:iptables -t nat // -t 指定表(不加t,預設就是filter表)
1.5 命令:iptables -Z //-Z把包和流量計數器清零
1.6 增加一條規則:
iptables -A INPUT -s 192.168.188.1 -p tcp –sport 1234 -d 192.168.188.128 –dport 80 -j DROP
1.7. iptables -IINPUT -s 1.1.1.1 -j DROP//表示插入一條規則,丟掉所有來自1.1.1.1的資料包。 1.8 iptables -AINPUT-s 1.1.1.1-j DROP//表示增加一條規則 1.9 iptables -DINPUT-s 1.1.1.1-j DROP//注意刪除一條規則時,必須和插入的規則一致。 1.10iptables -I INPUT-s 192.168.1.0/24-i eth0 -j ACCEPT//表示把來自192.168.1.0/24這個網段且作用在etho上的包放行。 2.1 有時候伺服器上的iptables過多了,你想刪除一某一條規則,但又不知道之前建立時的規則(通過編號去刪除),你可先檢視iptables規則,命令如下:
2.1.1 在規則前用編號顯示出來:iptables -nvL --line-numbers (注意line前是雙橫線)
2.1.2刪除編號為1的規則:iptables -D INPUT 2
3.預設規則:iptables -P INPUT DROP (說明:-P後面跟鏈名,策略內容或為DROP,或為ACCEPT,預設是ACCEPT。注意:如果你在連線遠端伺服器,千萬不要隨便執行這個命令,因為一旦輸入命令並回車,遠端連線會被斷開。這個策略一旦設定成功後,只有使用命令iptables -P INPUTACCEPT才能恢復成原始狀態)
4.總結:
-A/-D :增加刪除一條規則;
-I :插入一條規則,其實跟-A的效果一樣;
-p :指定協議,可以是tcp,udp或者icmp;
–dport :跟-p一起使用,指定目標埠;
–sport :跟-p一起使用,指定源埠;
-s :指定源IP(可以是一個ip段);
-d :指定目的IP(可以是一個ip段);
-j :後跟動作,其中ACCEPT表示允許包,DROP表示丟掉包,REJECT表示拒絕包;
-i :指定網絡卡(不常用,但有時候能用到)
轉載於:https://blog.51cto.com/404006045/2114226