ip、ifconfig 和 route命令
阿新 • • 發佈:2022-05-11
ip、ifconfig 和 route命令
linux的ip命令和ifconfig類似,但前者功能更強大,並旨在取代後者。使用ip命令,只需一個命令,你就能很輕鬆地執行一些網路管理任務。ifconfig是net-tools中已被廢棄使用的一個命令,許多年前就已經沒有維護了。iproute2套件裡提供了許多增強功能的命令,ip命令即是其中之一。
常用網路配置
功能 | ifconfig 命令 | ip 命令 | route 命令 |
---|---|---|---|
檢視網路 | ifconfig [-a] [<interface>] |
ip addr [show <interface>] |
---- |
新增網路 |
ifconfig <interface> add <address>[/<prefixlen>] [up|down] ifconfig <interface> <address> netmask <mask> [up|down]
|
ip addr add <address>[/<prefixlen>] dev <interface> |
---- |
刪除網路 | ifconfig <interface> del <address>[/<prefixlen>] |
ip addr del <address>[/<prefixlen>] dev <interface> |
---- |
啟動 |關閉 | ifconfig <interface> up|down |
ip link set <interface> up|down |
---- |
檢視路由 | ---- | ip route [show <interface>/<prefixlen>] |
route [-n] |
新增路由 | ---- | ip route add <address>[/<prefixlen>] via <gateway> dev <interface> |
route add [-net|-host] <address> [netmask <mask>] [gw default-ip] [dev <interface>] |
刪除路由 | ---- | ip route del <address>[/<prefixlen>] |
route del [-net|-host] <address> [netmask <mask>] [gw default-ip] [dev <interface>] |
配置預設路由 | ---- | ip route add default via <gateway> |
route [add|del] default [gw nexthop] |
配置MAC地址 | ifconfig <interface> hw ether <mac-address> |
ip link set dev <interface> address <mac-address> |
---- |
Tips:
- 使用ip route命令來設定路由時,其網段必須嚴格匹配。如:ip route add 3.3.3.3/24 via 1.1.1.1這樣配置就是不正確的,必須將3.3.3.3/24改為3.3.3.0/24才是正確的。
- 使用ip route設定路由時,其下一跳使用via關鍵字來指定。使用route命令設定ip時,其下一跳使用gw關鍵字來指定。
- 使用ip route設定網段或主機路由時,直接在該網段後面加上掩碼即可。如:10.1.1.0/24;而使用route命令設定主機路由時,需要使用-host關鍵字來指定,且後面不需要加掩碼,指定網段路由時,需要使用-net關鍵字來指定,並且還需要netmask關鍵字來指定該路由的掩碼。
- route –n:顯示路由表,且以ip或port的形式顯示而不是使用主機名來顯示;其中U表示路由是啟動的,G表示是預設路由;
栗子
ipv4 網路配置
-
IP 命令
- ip addr show wlan0
- ip addr add 192.168.0.193/24 dev wlan0
- ip addr del 192.168.0.193/24 dev wlan0
- ip route show
- ip route add 4.4.4.0/24
- ip route add default via 192.168.0.196
-
ifconfig 命令
- ifconfig eth0 192.168.0.120/24 up
- ifconfig 192.168.0.110 netmask 255.255.255.0 up
-
route 命令
- route del -net 6.6.6.0 netmask 255.255.255.0
- route add -host 6.6.6.6 gw 3.3.3.3 dev eth1
ipv6 網路配置
-
新增IPV6地址
- ip -6 addr add <ipv6address>/<prefixlength> dev <interface>
- ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0
- ifconfig <interface> inet6 add <ipv6address>/<prefixlength>
- ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64
- ip -6 addr add <ipv6address>/<prefixlength> dev <interface>
-
新增預設路由
- ip -6 route add <ipv6network>/<prefixlength> via <ipv6address>
- ip -6 route add default via 2001:0db8:0:f101::1
- route -A inet6 add <ipv6network>/<prefixlength> gw <gateway>
- route -A inet6 add default gw 2001:0db8:0:f101::1
- ip -6 route add <ipv6network>/<prefixlength> via <ipv6address>
-
檢視路由
- ip -6 route show
- route -A 'inet6'
- route print (windows檢視路由表)
-
檢視鄰居快取
- ip -6 neighbor show
- netsh interface ipv6 show neighbors (windows檢視鄰居快取)
Reference