Linux網路——配置網路之iproute家族命令 摘要:本文主要學習了iproute家族用來配置網路的命令。 ip命令 ip命令用於查看和管理IP地址、介面、路由、隧道等。用來取代ifconfig命令。 基本語法 網路介面相關: 網路名稱空間相關: IP地址相關: 路由相關: 選項說明 網路介面相 ...
Linux網路——配置網路之iproute家族命令
摘要:本文主要學習了iproute家族用來配置網路的命令。
ip命令
ip命令用於查看和管理IP地址、介面、路由、隧道等。用來取代ifconfig命令。
基本語法
網路介面相關:
1 ip link [選項]
網路名稱空間相關:
1 ip netns [選項]
IP地址相關:
1 ip addr [選項]
路由相關:
1 ip route [選項]
選項說明
網路介面相關:
1 list 網卡名稱:查看網卡信息,不指定則查看全部網卡信息。 2 show 網卡名稱:查看網卡信息,不指定則查看全部網卡信息。 3 set 網卡名稱 up:啟用網卡。 4 set 網卡名稱 down:關閉網卡。 5 set 網卡名稱 name 網卡名稱:修改網卡名稱,需要在網卡關閉狀態才可修改。 6 set 網卡名稱 mtu mtu值:修改網卡最大傳輸單元。 7 set 網卡名稱 multicast on:開啟組播功能。 8 set 網卡名稱 multicast off:禁用組播功能。 9 set 網卡名稱 netns 名稱空間:將介面移動至指定的網路名稱空間中。
網路名稱空間相關:
1 list:列出所有的netns。 2 add 名稱空間:創建指定的netns。 3 del 名稱空間:刪除指定的netns。 4 exec 名稱空間 命令:在指定的netns上運行命令。
IP地址相關:
1 list 網卡名稱:查看網卡上的IP地址,不指定則查看全部網卡IP地址。 2 show 網卡名稱:查看網卡上的IP地址,不指定則查看全部網卡IP地址。 3 add IP地址/掩碼位數 dev 網卡名稱:添加IP地址。 4 add IP地址/掩碼位數 dev 網卡名稱 label 別名:添加IP地址並指定別名。 5 add IP地址/掩碼位數 dev 網卡名稱 broadcast 廣播地址:添加IP地址並指定廣播地址。 6 add IP地址/掩碼位數 dev 網卡名稱 scope 作用域:添加IP地址並指定作用域。作用域主要有三種:global全局有效,link僅介面有效,host僅主機有效。 7 delete IP地址/掩碼位數 dev 網卡名稱:刪除IP地址。 8 flush dev 網卡名稱:清空IP地址。
路由相關:
1 show 路由地址:顯示路由表,不指定地址則查看全部路由。 2 add 目標網路 via 網關 dev 網卡 src 出口地址:添加路由,網卡和出口地址可以省略。 3 change 目標網路 via 網關 dev 網卡 src 出口地址:修改路由,網卡和出口地址可以省略。 4 replace 目標網路 via 網關 dev 網卡 src 出口地址:修改路由或添加路由,網卡和出口地址可以省略。 5 del 目標網路:刪除路由。 6 get 目標網路:獲得單條路由的詳細信息。 7 flush:清空路由表。
ss命令
ss命令用於獲取socket統計信息等。用來取代netstat命令。
基本語法
1 ss [選項] 過濾條件
選項說明
1 -t:顯示tcp協議相關的連接。 2 -u:顯示udp協議相關的連接。 3 -w:顯示raw協議相關的連接。 4 -a:顯示所有狀態的連接。 5 -l:顯示處於監聽狀態的連接。 6 -e:以擴展格式顯示。 7 -n:以數字格式顯示IP和Port。 8 -p:顯示相關進程和PID。 9 -m:顯示記憶體用量。 10 -o:顯示計數器信息。
過濾條件
過濾條件可以沒有,主要有種方式:
1)通過TCP狀態過濾
語法如下:
1 state TCP狀態
TCP狀態通常為以下幾個值之一:
1 ESTABLISHED 套接字有一個有效連接。 2 SYN_SENT 套接字嘗試建立一個連接。 3 SYN_RECV 從網路上收到一個連接請求。 4 FIN_WAIT1 套接字已關閉,連接正在斷開。 5 FIN_WAIT2 連接已關閉,套接字等待遠程方中止。 6 TIME_WAIT 在關閉之後,套接字等待處理仍然在網路中的分組。 7 CLOSED 套接字未用。 8 CLOSE_WAIT 遠程方已關閉,等待套接字關閉。 9 LAST_ACK 遠程方中止,套接字已關閉。等待確認。 10 LISTEN 套接字監聽進來的連接。如果不設置-l或者-a選項,將不顯示出來這些連接。 11 CLOSING 套接字都已關閉,而還未把所有輸出發出。 12 UNKNOWN 套接字狀態未知。
2)通過表達式過濾
語法如下:
1 dport 目標埠或協議類型 2 sport 源埠或協議類型
使用舉例
顯示tcp網路連接:
1 [root@localhost ~]# ss -tan 2 State Recv-Q Send-Q Local Address:Port Peer Address:Port 3 LISTEN 0 128 *:22 *:* 4 LISTEN 0 100 127.0.0.1:25 *:* 5 ESTAB 0 0 192.168.35.128:22 192.168.35.1:9341 6 ESTAB 0 52 192.168.35.128:22 192.168.35.1:12751 7 LISTEN 0 128 :::22 :::* 8 LISTEN 0 100 ::1:25 :::* 9 [root@localhost ~]#
通過狀態篩選:
1 [root@localhost ~]# ss state ESTABLISHED 2 Netid Recv-Q Send-Q Local Address:Port Peer Address:Port 3 u_str 0 0 * 19669 * 19670 4 u_str 0 0 * 19633 * 19634 5 u_str 0 0 * 16125 * 16787 6 u_str 0 0 * 19661 * 19660 7 u_str 0 0 * 19646 * 19645 8 u_str 0 0 * 18283 * 18284 9 ... 10 [root@localhost ~]#
通過埠篩選:
1 [root@localhost ~]# ss dport = 17715 2 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port 3 u_str ESTAB 0 0 * 17224 * 17715 4 [root@localhost ~]# ss sport = 17224 5 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port 6 u_str ESTAB 0 0 * 17224 * 17715 7 [root@localhost ~]# ss sport = 22 8 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port 9 tcp ESTAB 0 0 192.168.35.128:ssh 192.168.35.1:9341 10 tcp ESTAB 0 52 192.168.35.128:ssh 192.168.35.1:12751 11 [root@localhost ~]#
通過組合篩選:
1 [root@localhost ~]# ss state established '( dport = :ssh or sport = :ssh )' 2 Netid Recv-Q Send-Q Local Address:Port Peer Address:Port 3 tcp 0 0 192.168.35.128:ssh 192.168.35.1:9341 4 tcp 0 52 192.168.35.128:ssh 192.168.35.1:12751 5 [root@localhost ~]# ss -tan state established sport = :22 6 Recv-Q Send-Q Local Address:Port Peer Address:Port 7 0 0 192.168.35.128:22 192.168.35.1:9341 8 0 52 192.168.35.128:22 192.168.35.1:12751 9 [root@localhost ~]#