不卡av在线播放_欧美成人AU在线看_亚洲一区二区 视频_五月天亚洲无码伊人

當(dāng)前位置:文章中心>技術(shù)教程
公告通知 新聞快遞 技術(shù)教程 產(chǎn)品展示

如何在Linux中使用ip命令

發(fā)布時(shí)間:2023-11-29 點(diǎn)擊數(shù):567

如何在Linux中使用ip命令


Linux ip命令是一個(gè)用于網(wǎng)絡(luò)管理的系統(tǒng)工具,但它有很多選項(xiàng),可能會(huì)很復(fù)雜。幸運(yùn)的是,大多數(shù)用戶在了解其主要組件后會(huì)發(fā)現(xiàn)該工具更容易使用。本指南介紹如何使用ip命令配置服務(wù)器。它演示了如何完成常見(jiàn)的網(wǎng)絡(luò)任務(wù)以及如何查看網(wǎng)絡(luò)狀態(tài)。

什么是Linux IP命令?

顧名思義,ip命令與Internet協(xié)議(IP)有關(guān)。IPv4和IPv6共同定義了現(xiàn)代互聯(lián)網(wǎng)的框架。IP協(xié)議描述了用于識(shí)別網(wǎng)絡(luò)接口以及發(fā)送和接收流量的尋址系統(tǒng)。

路由器和路由器使用IP系統(tǒng)將互聯(lián)網(wǎng)上的流量引導(dǎo)到正確的目的地。系統(tǒng)上的每個(gè)網(wǎng)絡(luò)接口都有一個(gè)介質(zhì)訪問(wèn)控制(MAC)地址,并且可以分配一個(gè)或多個(gè)IPv4或IPv6地址。此外,每個(gè)服務(wù)器都維護(hù)一個(gè)路由表。路由表確定將數(shù)據(jù)包傳輸?shù)浇o定目的IP地址時(shí)使用的接口。

Linux ip命令允許管理員從命令行查看系統(tǒng)的IP網(wǎng)絡(luò)信息。它允許用戶配置網(wǎng)絡(luò)接口、路由信息和IPv4/IPv6地址。ip命令還包括設(shè)置IP隧道、路由策略和配置系統(tǒng)鄰居的地址解析協(xié)議(阿普)信息的高級(jí)功能。

ip命令是Linuxiproute2網(wǎng)絡(luò)實(shí)用程序集合的一部分。它取代了舊的ifconfig命令,該命令具有更有限的功能和更少的選項(xiàng)。ip包預(yù)裝在所有現(xiàn)代Linux發(fā)行版上,包括Ubuntu。

在你開(kāi)始之前

  1. 如果您還沒(méi)有這樣做,請(qǐng)創(chuàng)建一個(gè)Linode帳戶和計(jì)算實(shí)例。請(qǐng)參閱我們的Linode入門(mén)指南和創(chuàng)建計(jì)算實(shí)例指南。

  2. 按照我們的設(shè)置和保護(hù)計(jì)算實(shí)例指南更新您的系統(tǒng)。您可能還希望設(shè)置時(shí)區(qū)、配置主機(jī)名、創(chuàng)建受限用戶帳戶以及加強(qiáng)SSH訪問(wèn)。

ip命令概念

每個(gè)Linux ip命令作用于一個(gè)或多個(gè)ip對(duì)象。ip對(duì)象表示網(wǎng)絡(luò)系統(tǒng)的特定組件,如路由表。ip中的一些術(shù)語(yǔ)與網(wǎng)絡(luò)概念更典型的討論方式不同。下面是一些最重要的ip對(duì)象的列表,括號(hào)中有快捷方式。

  • link(l):鏈路表示網(wǎng)絡(luò)設(shè)備。除了以太網(wǎng)鏈路之外,大多數(shù)鏈路都將服務(wù)器連接到更廣泛的計(jì)算機(jī)網(wǎng)絡(luò)。鏈接可以是邏輯/抽象或物理的。
  • route(r):表示路由表中的一個(gè)條目。它用于確定如何以及在何處發(fā)送基于其地址的傳出數(shù)據(jù)包。
  • address(a):這是與鏈接相關(guān)聯(lián)的IPv4或IPv6地址。
  • maddress(m):這是在鏈路上配置的多播地址(如果有的話)。
  • neighbor(n):表示相鄰接口的信息。它包括緩存的阿普或IPv6鄰居發(fā)現(xiàn)(NDISC)信息。
  • rule(ru):這是路由數(shù)據(jù)包的策略規(guī)則。它控制路由數(shù)據(jù)庫(kù)中路由的優(yōu)先級(jí)。

其他IP對(duì)象包括addrlabel、l2tp、mroute(用于多播路由)、tunnel和xfrm,它們由Internet協(xié)議安全(IPSec)協(xié)議使用。有關(guān)其余ip對(duì)象的更多信息,請(qǐng)參閱Ubuntu ip文檔。

注意
中的一些對(duì)象 ip 命令不能完美地映射到有關(guān)網(wǎng)絡(luò)的更隨意討論中使用的術(shù)語(yǔ)。例如,術(shù)語(yǔ)鏈路通常指兩個(gè)系統(tǒng)之間的連接。的 link IP對(duì)象通常稱為接口。為避免混淆,在討論 ip 命令

ip vs ifconfig

ip命令是已建立的ifconfig命令的更新迭代。ip還包括來(lái)自其他命令的功能,包括route和arp。因此,它比更有限的ifconfig具有更廣泛的范圍和更多的功能。

ip實(shí)用程序具有其他增強(qiáng)功能。例如,它顯示所有接口,而ifconfig只顯示啟用的接口。ip命令也更高效,并以更無(wú)縫的方式與系統(tǒng)交互。ip命令總是需要一個(gè)對(duì)象類(lèi)型,如地址或鏈接標(biāo)識(shí)符,而ifconfig直接引用接口而不使用ip對(duì)象。

由于其復(fù)雜性,ip命令最初可能會(huì)令人生畏,因此一些用戶最初可能會(huì)覺(jué)得使用ifconfig更舒服。用戶仍然可以使用ifconfig命令安裝apt install net-tools,但不建議這樣做。不幸的是,ifconfig可能仍然被最近沒(méi)有更新的舊實(shí)用程序和應(yīng)用程序使用。

如何使用ip命令

ip命令使用起來(lái)很簡(jiǎn)單,但它包含許多復(fù)雜的選項(xiàng)。不能單獨(dú)使用ip命令。其中一個(gè)“ip對(duì)象”也必須包括在內(nèi)。換句話說(shuō),沒(méi)有辦法使用命令一次顯示所有網(wǎng)絡(luò)信息。要使用ip命令配置網(wǎng)絡(luò)設(shè)置,請(qǐng)包括以下信息:

  • ip命令名。
  • 零或更多的選擇。
  • ip對(duì)象的名稱,例如link或route。每個(gè)對(duì)象都與一個(gè)縮寫(xiě)相關(guān)聯(lián)。例如,link對(duì)象可以縮寫(xiě)為l。ip l show和ip link show都指向同一個(gè)命令。
  • 命令,例如,沿著任何參數(shù)。

大多數(shù)ip命令遵循以下格式:

ip [options] OBJECT COMMAND

非root用戶必須使用sudo來(lái)執(zhí)行任何更改網(wǎng)絡(luò)配置的ip命令。所有用戶都可以使用show命令。

ip help指令描述命令語(yǔ)法并列出所有可用選項(xiàng)。更具體的幫助可用于每個(gè)ip對(duì)象。使用格式ip OBJECT help。例如,ip addr help提供了與地址相關(guān)的命令的指令。

ip addr help
Usage: ip address {add|change|replace} IFADDR dev IFNAME [ LIFETIME ]
                                                      [ CONFFLAG-LIST ]
       ip address del IFADDR dev IFNAME [mngtmpaddr]
       ip address {save|flush} [ dev IFNAME ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up]
       ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ master DEVICE ]
                         [ type TYPE ] [ to PREFIX ] [ FLAG-LIST ]
                         [ label LABEL ] [up] [ vrf NAME ] ]
       ip address {showdump|restore}
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label IFNAME ] [ scope SCOPE-ID ] [ metric METRIC ]
...

以下是一些更有用的ip選項(xiàng)。

  • -a:處理所有對(duì)象,前提是命令支持該選項(xiàng)。
  • -d:在輸出中添加額外的細(xì)節(jié)。
  • -f:指定協(xié)議族。一些常見(jiàn)的家庭有自己的捷徑。-4是IPv4的快捷方式,-6表示IPv6,M表示MPLS。
  • -j:以JSON格式顯示輸出。
  • -p:以更可讀的格式顯示輸出。
  • -s:顯示額外的統(tǒng)計(jì)信息,包括傳輸和接收的數(shù)據(jù)包。-s -s選項(xiàng)顯示更多信息。
  • -t:在輸出中包含時(shí)間戳。

有關(guān)所有ip選項(xiàng)的詳細(xì)說(shuō)明,請(qǐng)參閱ip命令的手冊(cè)頁(yè)。

由于ip命令包含如此多的選項(xiàng),下面的示例將重點(diǎn)放在一些更常見(jiàn)的用例上。

使用地址ip對(duì)象

addr對(duì)象允許用戶列出與每個(gè)鏈接關(guān)聯(lián)的IP地址,包括系統(tǒng)地址。它還用于添加、修改和刪除地址。

如何找到你的IP地址

使用addr ip對(duì)象查找您的IP地址。ip addr show命令顯示系統(tǒng)上配置的每個(gè)鏈路的地址。找到eth0鏈接,該鏈接將主機(jī)連接到大多數(shù)系統(tǒng)上的更廣泛的網(wǎng)絡(luò)。inet字段顯示IPv4地址。如果配置了IPv6地址,則會(huì)在inet6部分中指明。

ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether f2:3c:93:60:50:30 brd ff:ff:ff:ff:ff:ff
    inet 178.79.148.108/24 brd 178.79.148.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 2a01:7e00::f03c:93ff:fe60:5030/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 5155sec preferred_lft 1555sec
    inet6 fe80::f03c:93ff:fe60:5030/64 scope link
       valid_lft forever preferred_lft forever

要顯示有關(guān)某個(gè)特定鏈接的信息,請(qǐng)將鏈接的名稱附加到命令的末尾。

ip addr show eth0

-br選項(xiàng)簡(jiǎn)化了狀態(tài)和IP地址的顯示。

ip -br addr show
lo               UNKNOWN        127.0.0.1/8 ::1/128
eth0             UP             178.79.148.108/24 2a01:7e00::f03c:93ff:fe60:5030/64 fe80::f03c:93ff:fe60:5030/64

如何添加或刪除IP地址

要向現(xiàn)有鏈路/接口添加IP地址,請(qǐng)使用addr add命令。命令的格式是ip addr add ADDRESS/NETMASK dev LINK_ID。使用/符號(hào)分隔IP地址和網(wǎng)絡(luò)掩碼。

下面的命令演示了如何將新地址添加到lo路由器鏈接。修改任何網(wǎng)絡(luò)信息時(shí),必須使用sudo。如果規(guī)則已經(jīng)存在,則ip顯示錯(cuò)誤消息RTNETLINK answers: File exists。

sudo ip addr add 127.255.255.255/16 dev lo

addr show命令反映了新的配置更改。

ip addr show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 127.255.255.255/16 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

要從鏈接中刪除地址,請(qǐng)使用addr delete命令。

sudo ip addr delete 127.255.255.255/16 dev lo

要將地址配置為廣播地址,請(qǐng)使用關(guān)鍵字brd。

sudo ip addr add 172.31.255.255 brd + dev eth1

link對(duì)象可以訪問(wèn)和配置有關(guān)系統(tǒng)上網(wǎng)絡(luò)接口的信息。它用于查看網(wǎng)絡(luò)設(shè)備的狀態(tài),或?qū)⒐芾頎顟B(tài)設(shè)置為up或down。

如何查看網(wǎng)絡(luò)接口

要查看有關(guān)服務(wù)器上所有網(wǎng)絡(luò)接口的信息,請(qǐng)使用ip link show命令。該命令顯示每個(gè)鏈路object的狀態(tài)、MTU和MAC地址以及其他信息。

ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether f2:3c:93:60:50:30 brd ff:ff:ff:ff:ff:ff

當(dāng)添加-br選項(xiàng)時(shí),ip僅顯示最重要的信息。

ip -br link show
lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
eth0             UP             f2:3c:93:60:50:30 <BROADCAST,MULTICAST,UP,LOWER_UP>
ip link show up

如何查看有關(guān)特定網(wǎng)絡(luò)接口的信息

要將顯示限制為有關(guān)特定接口的信息,請(qǐng)將信息的名稱附加到ip link show命令。以下命令僅顯示有關(guān)eth0網(wǎng)絡(luò)接口的信息。如果接口不存在,ip返回錯(cuò)誤消息Device "INTERFACE" does not exist。

ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether f2:3c:93:60:50:30 brd ff:ff:ff:ff:ff:ff

添加-s選項(xiàng)以查看鏈接/接口統(tǒng)計(jì)信息。

ip -s link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether f2:3c:93:60:50:30 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast
      67487882  470575      0       0       0       0
    TX:  bytes packets errors dropped carrier collsns
     112143192  522462      0       0       0       0

使用-s -s double標(biāo)志可以查看更全面的統(tǒng)計(jì)信息,包括有關(guān)各種錯(cuò)誤的信息。

ip -s -s link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether f2:3c:93:60:50:30 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast
      67589398  471467      0       0       0       0
    RX errors:  length    crc   frame    fifo overrun
                     0      0       0       0       0
    TX:  bytes packets errors dropped carrier collsns
     112345201  523306      0       0       0       0
    TX errors: aborted   fifo  window heartbt transns
                     0      0       0       0       2

如何更改網(wǎng)絡(luò)接口的狀態(tài)

使用ip link set命令修改任何網(wǎng)絡(luò)接口的狀態(tài)。使用關(guān)鍵字up啟用接口,使用關(guān)鍵字down禁用接口。

要禁用eth1鏈接,請(qǐng)使用以下命令。

sudo ip link set eth1 down

要使eth1備份,請(qǐng)輸入此命令。

sudo ip link set eth1 up

使用以下命令設(shè)置鏈路的最大傳輸單元(MTU)大小。

sudo ip link set mtu 1600 eth1

使用路由ip對(duì)象

route對(duì)象允許用戶查看路由表。它還用于添加和刪除路由。

如何查看路由信息

要查看路由數(shù)據(jù)庫(kù)中安裝的所有路由,請(qǐng)使用ip route show命令。

ip route show
default via 178.79.148.1 dev eth0 proto static
178.79.148.0/24 dev eth0 proto kernel scope link src 178.79.148.108

也可以使用list命令列出特定網(wǎng)絡(luò)的所有路由。

ip route list 178.79.148.0/24
178.79.148.0/24 dev eth0 proto kernel scope link src 178.79.148.108

添加和刪除路由

要添加新路由,請(qǐng)使用ip route add命令。有兩種方法可以添加路由。對(duì)于第一個(gè)選項(xiàng),指定遠(yuǎn)程網(wǎng)絡(luò)的IP地址和掩碼,以及用于訪問(wèn)它的接口。下面的示例將新路由添加到eth0。

sudo ip route add 192.168.20.0/24 dev eth0

使用ip route show命令確認(rèn)已添加路由。

ip route show
default via 178.79.148.1 dev eth0 proto static
178.79.148.0/24 dev eth0 proto kernel scope link src 178.79.148.108
192.168.20.0/24 dev eth0 scope link

對(duì)于第二種方法,使用via關(guān)鍵字指定網(wǎng)關(guān)。網(wǎng)絡(luò)的所有流量都通過(guò)指定的地址路由。將178.79.148.1替換為上面輸出中的實(shí)際IP地址。

sudo ip route add 192.168.20.0/24 via 178.79.148.1

要?jiǎng)h除路由,請(qǐng)使用ip route delete命令。此命令僅接受IP地址。

sudo ip route delete 192.168.20.0/24

使用鄰居ip對(duì)象

neigh命令對(duì)服務(wù)器鄰居的阿普和NDISC條目進(jìn)行操作。neighbor命令顯示每個(gè)條目的地址和狀態(tài)。如果一個(gè)條目是有效且可到達(dá)的,則它是REACHABLE;如果它永遠(yuǎn)不會(huì)過(guò)期,則它是PERMANENT。STALE條目有效但不可訪問(wèn),而DELAY狀態(tài)中的條目尚未驗(yàn)證。neigh命令還可以編輯鄰居信息。

如何查看鄰居信息

要查看系統(tǒng)所識(shí)別的所有鄰居,請(qǐng)使用ip neigh show。

ip neigh show
178.79.148.1 dev eth0 lladdr 00:00:0c:9f:f0:02 REACHABLE
fe80::1 dev eth0 lladdr 00:00:0c:9f:f0:02 router STALE

如何添加和刪除鄰居信息

可以使用ip neigh add和ip neigh delete命令添加和刪除阿普信息。

注意
的 delete 命令用于刷新陳舊的阿普或NDISC信息。的 neigh add 命令可以在兩個(gè)不斷通信且具有固定IP和MAC地址的節(jié)點(diǎn)之間添加永久阿普條目。但是,如果信息發(fā)生變化,靜態(tài)阿普條目可能會(huì)導(dǎo)致問(wèn)題。在向這些表中添加任何條目時(shí)要小心。

要為鄰居添加永久阿普條目,請(qǐng)使用以下命令。包括鄰居的MAC地址和用于訪問(wèn)它的鏈路。關(guān)鍵字perm將永久安裝路由。

sudo ip neigh add 192.168.100.100 lladdr 16:12:34:56:78:90 dev eth0 nud perm ip neigh show
178.79.148.1 dev eth0 lladdr 00:00:0c:9f:f0:02 REACHABLE
192.168.100.100 dev eth0 lladdr 16:12:34:56:78:90 PERMANENT
fe80::1 dev eth0 lladdr 00:00:0c:9f:f0:02 router STALE

使用ip neigh delete,沿著使用地址和接口,刪除路由。

sudo ip neigh delete 192.168.100.100 dev eth0