1. 程式人生 > 實用技巧 >5月8日

5月8日

10.11 Linux網路相關

1. ifconfig檢視網絡卡ip(如果沒有這個命令請使用yum install net-tools安裝)

blob.png

2、重啟網絡卡:

命令:service network restart或者ifdown eth0 && ifup eth0

blob.png

ifdown 即停掉網絡卡,ifup即啟動網絡卡。有一點要提醒你的是,如果我們遠端登入伺服器,當使用ifdown eth0這個命令的時候,很有可能後面的命令ifup eth0不會被執行,這樣導致我們斷網而無法連線伺服器,所以請儘量使用service network restartifdown 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

blob.png

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

NAME=eth0:1//這個地方要更改成前面設定的eth0:1 UUID=3c08189a-cb3f-4879-92de-ee0691b1d4cc DEVICE=eth0:1//這個地方要更改成前面設定的eth0:1 ONBOOT=yse IPADDR=192.168.1.190 //更改一個沒有使用的IP NETMASK=255.255.0.0 GATEWAY=192.168.1.1 DNS1=119.29.29.29 DNS2=8.8.8.8

3.5 重啟網絡卡檢視多出來的網絡卡資訊:ifdown eth0:1 &&ifup eth0:1

blob.png

4、檢視網絡卡是否連線 命令如下:

mii-tooleth0 //link ok表示連線正常

,如果顯示no link表示網絡卡壞了或沒有連線網線

ethtooleth0//最後一行顯示link detectedyes說明網絡卡正常,如果顯示為no,說明網絡卡壞或沒有連線網線

blob.png

5、更改主機名:hostnamectl set-hostnamepme(這個命令可以直接更改/ect/hostname檔案只適用centos7)

blob.png

使用hostname命令就可以知道你的linux的主機名是什麼。hostname pme命令這樣修改只是儲存在記憶體中,下次重啟還會變成未改之前的主機名,所以需要你還要去更改相關的配置檔案 /etc/hostname.

6.DNS配置檔案: cat /etc/resolv.conf

blob.png

6.1 如果要修改dns,則要進網絡卡配置檔案裡面修改並重啟網絡卡即可:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

blob.png

6.2 臨時更改DNS vim /etc/resolv.conf

blob.png

6.3 /etc/hosts

linux下有一個特殊檔案/etc/hosts可能解析域名,不過需要我們在裡面手動新增ip與域名,它的作用是臨時解析某個域名,非常有用。

blob.png

注意: 1. 一個IP後面可以跟多個域名,可以是幾十個甚至上百個。 2. 一行只能有一個IP,也就是一個域名不能對應多個IP3. 如果有多行中出現相同的域名(對應的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 selinuxLinux系統特有的安全機制,因為這種機制的限制太多,配置也麻煩,所以幾乎沒有人真正的應用它。安裝完系統後我們一般會選擇關閉selinux

以使用 getenforce 命令獲得當前selinux的狀態:

1selinux臨時關閉 :setenforce 0

blob.png

2selinux永久關閉: vi /etc/selinux/config /enforcing改成disabled)重啟生效

blob.png

3.netfilterfirewalld centos版本56上用的防火牆是netfilercentos7則用的是firewalld防火牆,很多人把Linux的防火牆叫作iptables,其實這不是,iptables僅僅是一個工具。目前現在很多企業依然在使用centos6,但firewalld是向下相容netfiler的,同樣也支援之前版本的命令用法。

3.1 關閉firewalld開啟netfilter方法

1systemctl disable firewalled//禁止firewalld服務開機啟動

2systemctl stop firewalld //關閉firewalld服務

3yum install -yiptables-services//安裝iptables-services,這樣就可以使用之前版本的iptables了。

4systemctl enable iptables //讓它開機啟動

5systemctl start iptables //啟動iptables服務

10.13 netfilter5表5鏈介紹

netfilter55鏈介紹 netfilter5個表 1. filter表用於過濾包,是系統預設的表,也是最常用的表,該表有內建三個鏈INPUTOUTPUTFORWARD - INPUT鏈作用於進入本機的包。 - OUTPUT鏈作用於本機送機的包。 - FORWARD鏈作用於那些跟本機無關的包。 2. nat表用於網路地址轉換,有PREROUTINGOUTPUTPOSTROUTING三個鏈。 - PREROUTINC鏈的作用是在包剛剛到達防火牆時改變它的目的地址(如果需要的話) - OUTPUT鏈的作用是改變本地產生的包的目的地址。 - POSTROUTINC鏈的作用是在包即將離開防火牆時改變其源地址。 3. 資料包流向與netfilter5個鏈 - PREROUTING:資料包進入路由表之前。 - INPUT:通過路由表後目的地為本機。 - FORWARD:通過路由表後,目的地不為本機。 - OUTPUT:由本機產生,向外發出。 - POSTROUTING:傳送到網絡卡介面之前。 4. 具體的資料包流向,可以參考下圖。

blob.png

5.參考文章iptables詳解:http://www.cnblogs.com/metoy/p/4320813.html

iptables簡介

netfilter/iptables(簡稱為iptables)組成Linux平臺下的包過濾防火牆,與大多數的Linux軟體一樣,這個包過濾防火牆是免費的,它可以代替昂貴的商業防火牆解決方案,完成封包過濾、封包重定向和網路地址轉換(NAT)等功能。

iptables基礎

規則(rules)其實就是網路管理員預定義的條件,規則一般的定義為如果資料包頭符合這樣的條件,就這樣處理這個資料包。規則儲存在核心空間的資訊 包過濾表中,這些規則分別指定了源地址、目的地址、傳輸協議(如TCPUDPICMP)和服務型別(如HTTPFTPSMTP)等。當資料包與規 則匹配時,iptables就根據規則所定義的方法來處理這些資料包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火牆的 主要工作就是新增、修改和刪除這些規則。

iptablesnetfilter的關係:

這是第一個要說的地方,Iptablesnetfilter的關係是一個很容易讓人搞不清的問題。很多的知道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

blob.png

1.2 清空規則命令:iptables -F

1.3 永久儲存規則命令: service iptables save 會把規則儲存到 /etc/sysconfig/iptables

blob.png

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

blob.png

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前是雙橫線)

blob.png

2.1.2刪除編號為1的規則:iptables -D INPUT 2

blob.png

3.預設規則:iptables -P INPUT DROP 說明:-P後面跟鏈名,策略內容或為DROP,或為ACCEPT,預設是ACCEPT。注意:如果你在連線遠端伺服器,千萬不要隨便執行這個命令,因為一旦輸入命令並回車,遠端連線會被斷開。這個策略一旦設定成功後,只有使用命令iptables -P INPUTACCEPT才能恢復成原始狀態

4.總結:

-A/-D :增加刪除一條規則;

-I :插入一條規則,其實跟-A的效果一樣;

-p :指定協議,可以是tcpudp或者icmp

–dport :跟-p一起使用,指定目標埠;

–sport :跟-p一起使用,指定源埠;

-s :指定源IP(可以是一個ip段);

-d :指定目的IP(可以是一個ip段);

-j :後跟動作,其中ACCEPT表示允許包,DROP表示丟掉包,REJECT表示拒絕包;

-i :指定網絡卡(不常用,但有時候能用到)






轉載於:https://blog.51cto.com/404006045/2114226