Linux:網絡指令(IP)
學習自:Linux IP命令_把我掛在云端的博客-CSDN博客
linux的ip命令大全 linux 命令 ip - 變形蟲
Linux中ip命令的使用實例 | 《Linux就該這么學》
0、說明
- ip命令是ifconfig的上位替代,功能更強大。
- 很多指令可以用它的前若干位代替,比如addr可以用a、ad、add代替,route可以用r直到rout代替;
1、用法
用法 |
說明 |
|
網卡、IP |
||
|
addr |
ip addr ip addr show enp0s3 |
顯示IP 顯示某個網卡IP |
|
ip addr add IP/掩碼 dev enp0s3 ip addr del IP/掩碼 dev enp0s3 |
給網卡增設IP地址(臨時,重啟主機后失效) 刪除臨時IP地址 |
|
|
link |
ip -s link |
統計傳輸字節、數據包 |
|
先del原IP,再add新IP |
修改 |
|
|
ip link set enp0s3 down ip link set enp0s3 down |
啟用網卡 禁用網卡 |
|
路由、網關(建議用route指令) |
||
| route | ip r | 查路由表 |
| ip r get to 192.168.43.2 | 查到某個IP的路由 | |
| ip r add 192.168.10.0/24 dev DEVICE [src IP_ADDR] |
設置直連網絡的route 192是目的地址 |
|
| ip r add 192.168.10.0/24 via 172.17.0.1 dev DEVICE [src IP_ADDR] |
設置非直連網絡的route 192是目的地址,172是下一跳的地址 |
|
| ip r add default via 172.17.0.1:默認路由(網關) | 設置默認路由 | |
| ip r del 192.168.10.0/24 via 172.17.0.1 | 刪除某條路由 | |
| ip r get 192.168.10.11 | 顯示到192的路由 | |
ARP (鏈路層) |
||
| neigh | ip neigh | 查看IP到MAC的映射關系 |
|
ip n add ip n del |
ARP表中增加一個條目 刪除ARP中的一個條目 |
|
網絡命名空間 |
||
| netns | ip netns | 查看所有網絡命名空間 |
|
ip netns add Name ip netns del Name |
新增/刪除一個名為Name的命名空間 | |
| ip netns exec Nama CMD | 在命名空間Name中執行CMD | |
1)網卡、網絡接口:link
用法
網絡接口信息:ip link
網絡接口統計信息:ip -s link
ip l add [ link DEVICE ] [ name ] NAME type TYPE:創建虛擬網絡設備。注意,此處的 DEVICE 必須是真實的物理設備。
ip l del DEVICE:刪除虛擬設備。只有虛擬設備才能被刪除。
ip l set ens33 up:打開 ens33 網卡。
ip l set ens33 down :關閉 ens33 網卡。
2)網絡命名空間 netns
用法
ip netns 查看所有網絡命名空間
ip netns add/del 新增/刪除一個名為Name的命名空間
ip netns exec Nama CMD 在命名空間Name中執行CMD
例子
ip netns add ns0
ip netns # 等同于 ls /var/run/netns/
ip net exec ns0 ip l set lo up # ip l set lo up 整體是一個命令
ip netns del ns0
3)IP地址信息:ip addr
用法
ip addr 顯示全部IP
ip addr show enp0s3 顯示某個網卡IP
ip addr add IP/掩碼 dev enp0s3 給網卡增設IP地址(臨時,重啟主機后失效)
ip addr del IP/掩碼 dev enp0s3 刪除臨時IP地址
沒有修改IP的命令,修改=刪除原+添加新
例子
#向 ens33 網卡上添加一個臨時 IP 地址 192.168.10.10/24 (dev 是 device 的簡寫)。 ip a add 192.168.10.10/24 dev ens33 #通過 ip a add 添加的 IP 會在重啟主機后失效。 #從 ens33 網卡上刪除一個臨時 IP 地址 192.168.10.10/24。 ip a del 192.168.10.10/24 dev ens33
4)路由表信息:ip route
用法
ip r:查看路由。
ip r add 192.168.10.0/24 dev DEVICE [src IP_ADDR]:網絡路由。192.168.10.0/24 是直連網絡。前往網絡 192.168.10.0/24 的請求從 DEVICE 網卡發出。如果該網卡上有多個 IP,可以選擇一個偏愛的源 IP 地址。
ip r add 192.168.10.0/24 via 172.17.0.1 dev DEVICE [src IP_ADDR]:網絡路由。192.168.10.0/24 不是直連網絡。前往網絡 192.168.10.0/24 的請求下一跳前往 172.17.0.1。
ip r add 192.168.10.10 dev DEVICE:主機路由。前往主機 192.168.10.10 的請求從 DEVICE 網卡發出。(與前兩個的區別在于前兩個指出的是網卡,而這里是準確的IP)
ip r add default via 172.17.0.1:默認路由(網關)。172.17.0.1 就是網關的 IP。
ip r del 192.168.10.0/24 via 172.17.0.1:刪除路由
ip r get 192.168.10.11:顯示到達 192.168.10.11 的路由信息。
說明
- via 后面的 IP 必須是可達的(reachable)。
- 去往直連的網絡,會 ARP 廣播請求目標主機的 MAC 地址;
- 去往非直連的網絡,會 ARP 廣播請求下一跳主機的 MAC 地址。
- 為了使網卡重啟后路由仍然有效,需要①在/etc/sysconfig/network-scripts/目錄下創建名為route-enp0s3(enp0s3是本機網卡,連接172.17.0.1所在網絡);②向該文件添加內容
192.168.10.0/24 via 172.17.0.1 192.168.10.10 via 172.17.0.1
- 網卡的默認路由在/etc/sysconfig/network-scripts/ifcfg-enp0s3下通過GATEWAY選項設置
GATEWAY=172.17.0.1
- 系統的默認路由在/etc/sysconfig/network的GATEWAY選項中設置
GATEWAY=172.17.0.1
- 報文的路由方式為,先判斷是否走系統的默認路由,確定從哪個網卡發出,到了該網卡之后,再確定是否走網卡的默認路由。
例子
ip r
default via 10.0.0.2 dev enp0s3 proto static metric 100
10.0.0.0/24 dev enp0s3 proto kernel scope link src 10.0.0.128 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
首行:默認路由,在路由表上查不到時,報文都從默認路由走。即從enp0s3發出,去IP為10.0.0.2的主機。
第二行:網絡路由,表明去10.0.0.0/24網絡的報文都從enp0s3網卡走,報文中攜帶的源地址(本機)為10.0.0.128
第三行:網絡路由,表明去172.17.0.0/16網絡的報文都從docker0網卡走,報文中攜帶的源地址(本機)為172.17.0.1
5)ARP緩存表信息:ip route
6)組播地址:ip maddr
7)多路傳輸的所有者信息:ip mroute
8)VLAN信息:ip vlan
9)添加/刪除VLAN接口
-
ip link add link <parent-dev> name <vlan-dev> type vlan id <vlan-id>
-
ip link delete <vlan-dev>
10)配置網絡接口(網卡):ip link set <dev> up|down
11)添加/刪除IP地址:ip addr add/del <ip_addr>/<masklen> dev <dev>
12)添加/刪除路由表規則:ip route add/delete <network>/<masklen> via <gateway> dev <dev>
13)默認路由:ip route add default via <gateway> [dev <dev>]
14)添加/刪除ARP緩存表項:ip neigh add/dev <ip_addr> lladdr <mac_addr> dev <dev>
15)添加/刪除多路傳輸層關系:ip maddr add/del <multicast_addr> dev <dev>
16)多路傳輸層路由表項:ip mroute add/del [src <src_addr>] <multicast_addr> [dev <dev>] [oif <oif>] [via <next_hop>]
17)查找并修改接口名:ip link set <dev> name <new_name>
18)顯示QoS統計信息:ip -s link show <dev>
19)修改MAC地址:ip link set <dev> address <new_mac>
20)將路由表項寫入文件:ip route save > filename
21)從文件中加載路由表項:ip route restore < filename

浙公網安備 33010602011771號