1. 程式人生 > 其它 >ip、ifconfig 和 route命令

ip、ifconfig 和 route命令

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 網路配置

  1. 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
  2. ifconfig 命令

    • ifconfig eth0 192.168.0.120/24 up
    • ifconfig 192.168.0.110 netmask 255.255.255.0 up
  3. 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 網路配置

  1. 新增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
  2. 新增預設路由

    • 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
  3. 檢視路由

    • ip -6 route show
    • route -A 'inet6'
    • route print (windows檢視路由表)
  4. 檢視鄰居快取

    • ip -6 neighbor show
    • netsh interface ipv6 show neighbors (windows檢視鄰居快取)


Reference