0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何配置網(wǎng)絡(luò)接口和地址

jf_HnAzBl9o ? 來源:網(wǎng)絡(luò)工程師阿龍 ? 作者:網(wǎng)絡(luò)工程師阿龍 ? 2023-07-14 09:22 ? 次閱讀

介紹

在管理 Linux 服務(wù)器和排查網(wǎng)絡(luò)問題時(shí),熟悉一些基本的網(wǎng)絡(luò)工具是很有幫助的。這些工具中的一部分最初是為了查看網(wǎng)絡(luò)狀態(tài)而編寫的,但其中也包含了一些可以用來管理和配置網(wǎng)絡(luò)連接的底層工具。 一直以來,這些互不相關(guān)的網(wǎng)絡(luò)工具被打包在一起發(fā)布,它們被統(tǒng)稱為net-tools。

雖然net-tools工具包提供了相當(dāng)完善的功能,但是包內(nèi)工具的開發(fā)卻是相互獨(dú)立的,它們的使用方式也各不相同。 由于net-tools包內(nèi)工具的使用方式大相徑庭,并且包內(nèi)的部分工具也已經(jīng)停止維護(hù),因此使用名為iproute2的新工具包來替換原來net-tools。

iproute2包內(nèi)的各個(gè)工具被統(tǒng)一開發(fā)維護(hù),并且他們之間的使用方式也非常相似。另外,這些工具也可以很好地互相配合一起使用。 在本篇文章中,我們將會討論如何使用iproute2來對你的網(wǎng)絡(luò)進(jìn)行配置、維護(hù)和信息查看。我們將會使用 Ubuntu 12.04 VPS 來進(jìn)行演示,不過大多數(shù)其它現(xiàn)代 Linux 發(fā)行版都提供了相同的功能。 雖然查詢指令可以在非特權(quán)模式(非 root)下執(zhí)行,不過在修改網(wǎng)絡(luò)配置時(shí),大多數(shù)情況下還是需要 root 權(quán)限的。

如何查看網(wǎng)絡(luò)接口、地址、路由

iproute2 工具包最基礎(chǔ)的功能就是管理本機(jī)的網(wǎng)絡(luò)接口。

一般來說,本機(jī)的網(wǎng)絡(luò)接口通常會被命名成像是eth0,eth1,lo這樣的名稱。在過去,常常使用net-tools包提供的ifconfig命令來配置網(wǎng)絡(luò)接口。而使用iproute2時(shí),通??梢允褂米用頸p addr和ip link來完成相同的功能。

使用 ifconfig 時(shí),你可以通過輸入不帶參數(shù)的如下命令來查看本機(jī)當(dāng)前所有網(wǎng)絡(luò)接口的狀態(tài):


ifconfig

eth0Linkencap:EthernetHWaddr54f7c2:1b
inetaddr:192.168.56.126Bcast:192.168.56.255Mask:255.255.255.0
inet6addr:fe80:f7ffc21b/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:114273errors:0dropped:0overruns:0frame:0
TXpackets:58866errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:73490903(73.4MB)TXbytes:14294252(14.2MB)
Interrupt:20Memory:f7f00000-f7f20000
loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
inet6addr:::1/128Scope:Host
UPLOOPBACKRUNNINGMTU:65536Metric:1
RXpackets:3942errors:0dropped:0overruns:0frame:0
TXpackets:3942errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:668121(668.1KB)TXbytes:668121(668.1KB)

如果想要查看某個(gè)特定網(wǎng)絡(luò)接口的信息,你可以將網(wǎng)絡(luò)接口名稱作為參數(shù)傳給 ifconfig:


ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 54f7c2:1b  
          inet addr:192.168.56.126  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80:f7ffc21b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:114273 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58866 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:73490903 (73.4 MB)  TX bytes:14294252 (14.2 MB)
          Interrupt:20 Memory:f7f00000-f7f20000

使用 iproute2 包提供的子命令,我們可以實(shí)現(xiàn)相同的功能。

如果想要查看每個(gè)網(wǎng)絡(luò)接口被配置的地址,可以輸入不帶參數(shù)的 ip addr 命令:


ip addr

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 000000:00 brd 000000: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:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 54f7c2:1b brd ffffff:ff
    inet 192.168.56.126/24 brd 192.168.56.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80:f7ffc21b/64 scope link 
       valid_lft forever preferred_lft forever,multicast,up,lower_up>,up,lower_up>

如果想要查看某個(gè)特定網(wǎng)絡(luò)接口的地址信息,你可以使用如下格式的命令:


ip addr show eth0

2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 54f7c2:1b brd ffffff:ff
    inet 192.168.56.126/24 brd 192.168.56.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80:f7ffc21b/64 scope link 
       valid_lft forever preferred_lft forever,multicast,up,lower_up>

事實(shí)上,ip addr只是ip addr show命令的別名。

如果你只關(guān)心網(wǎng)絡(luò)接口本身,而不在意它們被配置的地址,那么你可以使用 ip link 子命令:


ip link

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 000000:00 brd 000000:00
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 0413a2:01 brd ffffff:ff,multicast,up,lower_up>,up,lower_up>

如果想要查看某個(gè)特定網(wǎng)絡(luò)接口的信息,那么你可以添加關(guān)鍵字 show 和對應(yīng)網(wǎng)絡(luò)接口的名字:


ip link show eth0

如果想要獲得網(wǎng)絡(luò)接口如何通信的統(tǒng)計(jì)數(shù)據(jù),那么你可以給link子命令傳入-s選項(xiàng):


ip -s link show eth0

2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 0413a2:01 brd ffffff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    853144     14672    0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns 
    91257      537      0       0       0       0,multicast,up,lower_up>

那么我們?nèi)绾握业轿覀兊穆酚杀砟??路由表包含了到達(dá)其他網(wǎng)絡(luò)地址的路徑信息,我們可以通過輸入以下內(nèi)容來打印當(dāng)前的路由表:


ip route show

default via 107.170.58.1 dev eth0  metric 100
107.170.58.0/24 dev eth0  proto kernel  scope link  src 107.170.58.162

這條命令的輸出內(nèi)容告訴我們,通往更大互聯(lián)網(wǎng)的默認(rèn)路由是通過 eth0 接口到達(dá)地址為 107.170.58.1 的網(wǎng)關(guān)。通過 eth0 接口可以訪問地址為 107.170.58.1 的網(wǎng)關(guān),并且 eth0 接口自身的 ip 地址是 107.170.58.162。

歡迎關(guān)注公眾號:網(wǎng)絡(luò)工程師阿龍!某音搜索網(wǎng)絡(luò)工程師阿龍!

如何配置網(wǎng)絡(luò)接口和地址

既然你已經(jīng)熟悉了如何獲取網(wǎng)絡(luò)接口信息和與它們關(guān)聯(lián)的地址信息,那么下一步就應(yīng)該是了解如何修改網(wǎng)絡(luò)接口的狀態(tài)了。

首先需要了解如何配置接口本身。你仍然可以使用 ip link 子命令,不過這次你需要傳入set而不是show來修改配置。

例如,我們可以通過使用以下命令來打開或關(guān)閉網(wǎng)絡(luò)接口:


ip link set eth1 up
ip link set eth1 down

注意:當(dāng)心不要意外關(guān)閉了你正連接的 VPS 的網(wǎng)絡(luò)接口!

你也可以使用 ip link 子命令來配置網(wǎng)絡(luò)接口的屬性。比如,如果你想打開或關(guān)閉網(wǎng)絡(luò)接口的多播標(biāo)志,你可以輸入:


ip link set eth1 multicast on
ip link set eth1 multicast off

你也可以輸入如下的命令來修改 MTU 和分組隊(duì)列的長度:

ip link set eth1 mtu 1500
iplinkseteth1txqueuelen1000

如果你正配置的網(wǎng)絡(luò)接口是關(guān)閉(down)狀態(tài),那么你可以修改網(wǎng)絡(luò)接口的名稱和與之關(guān)聯(lián)的 arp 標(biāo)志:


ip link set eth1 name eth10
ip link set eth1 arp on

如果要修改網(wǎng)絡(luò)接口的地址,那么我們可以再次使用 ip addr 子命令。

通過輸入以下命令我們可以為網(wǎng)絡(luò)接口添加一個(gè)地址:


ip addr add IPADDRESS/NETPREFIX brd + dev INTERFACE

該命令的brd +部分會自動設(shè)置廣播地址。每個(gè)網(wǎng)絡(luò)接口都可以添加多個(gè)地址而不會出現(xiàn)任何問題。

我們也可以執(zhí)行相反的操作來刪除網(wǎng)絡(luò)地址。要刪除指定網(wǎng)絡(luò)接口的某個(gè)地址,可以使用如下命令:

歡迎關(guān)注公眾號:網(wǎng)絡(luò)工程師阿龍!某音搜索網(wǎng)絡(luò)工程師阿龍!

ip addr del IPADDRESS/NETPREFIX dev INTERFACE

你也可以省略輸入地址,這樣與該網(wǎng)絡(luò)接口關(guān)聯(lián)的第一個(gè)被列出的地址將被刪除。

通過使用 ip route [add | change | replace | delete ] 語法,你也可以刪除路由規(guī)則。但我們不會在這里介紹,因?yàn)榇蠖鄶?shù)人不會定期對此進(jìn)行調(diào)整。

IpRoute2 的其他功能

IPRoute2 還具有一些其他功能,不過我們將不會在本教程中進(jìn)行深入討論。相反,我們將討論這些是什么,以及在什么情況下你可能會發(fā)現(xiàn)它們有用。 IP 路由規(guī)則(rule)的概念很難談?wù)?,因?yàn)樗浅R蕾囉诰唧w的情況?;旧希憧梢曰诙鄠€(gè)字段(包括目標(biāo)地址,源地址,路由協(xié)議,數(shù)據(jù)包大小等)來決定如何路由流量。 我們使用 ip rule 子命令使用此功能?;静樵兠钭裱推渌用钜粯拥恼Z法:


ip rule show

0:  from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default
這三條路由規(guī)則是內(nèi)核配置的默認(rèn)規(guī)則。第一行可以匹配任何流量,用于路由高優(yōu)先級的流量。第二行是處理常規(guī)路由的主要規(guī)則。最后一行是空規(guī)則,如果上面的規(guī)則與數(shù)據(jù)包不匹配,則使用該行進(jìn)行后處理(post-processing)。 由 IPRoute2 配置的路由規(guī)則被存儲在路由策略數(shù)據(jù)庫(routing policy database)中。通過與規(guī)則集合進(jìn)行匹配來選擇該數(shù)據(jù)庫中的路由策略。我們可以使用適當(dāng)?shù)牟僮鱽硖砑踊騽h除規(guī)則。但是,你不應(yīng)該在不知道自己在做什么的情況下執(zhí)行這些操作。 可以通過man查看 ip rule 的手冊來進(jìn)行進(jìn)一步的學(xué)習(xí)。


man ip         # search for "ip rule"

我們將簡要討論的另一件事是通過這些工具來處理 arp 信息。處理這些信息的子命令被稱作 ip neigh。


ip neigh

107.170.58.1 dev eth0 lladdr 005e01:68 DELAY

默認(rèn)情況下,這里至少應(yīng)列出你的網(wǎng)關(guān)。ARP(Address Resolution Protocol)是地址解析協(xié)議的縮寫,它可以通過 IP 地址來獲取 MAC 地址。 基本上,每當(dāng)需要轉(zhuǎn)發(fā) IP 分組時(shí),你的主機(jī)就會在本地網(wǎng)絡(luò)上廣播 ARP 請求,向網(wǎng)絡(luò)中的其他主機(jī)詢問誰擁有這個(gè) IP 地址。擁有這個(gè) IP 地址的主機(jī)將把自己的 MAC 地址回復(fù)給詢問者,然后詢問者就知道該把 IP 分組發(fā)給誰了。詢問者會把 IP 地址到 MAC 地址的映射緩存到本地(一般持續(xù) 15 分鐘),這樣后續(xù)的分組在需要轉(zhuǎn)發(fā)時(shí)就不需要再次通過 ARP 請求詢問了。

結(jié)語

現(xiàn)在,你應(yīng)該對如何使用 iproute2 包中的工具有了一個(gè)很好的了解了。

盡管許多指南和教程仍然引用舊的 net-tools 工具包,部分原因是有經(jīng)驗(yàn)的系統(tǒng)管理員過去經(jīng)常使用舊的工具包,但本指南中討論的命令將在未來幾年內(nèi)逐步替代 net-tools 工具。

重要的是,現(xiàn)在你必須熟悉這些命令,然后才能在已切換到這些命令的系統(tǒng)上解決網(wǎng)絡(luò)問題(Arch Linux 早在 2011 年就已經(jīng)完全切換到了新工具)。新工具用法更加一致,你可以指望在所有命令中都可以使用類似的用法。你使用這些命令的次數(shù)越多,它們對你而言就越自然。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    587

    瀏覽量

    27181
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3641

    瀏覽量

    112805
  • vps
    vps
    +關(guān)注

    關(guān)注

    1

    文章

    98

    瀏覽量

    11978

原文標(biāo)題:都2023年了,別再用ifconfig啦! 趕緊試試這個(gè)吧!

文章出處:【微信號:網(wǎng)絡(luò)工程師筆記,微信公眾號:網(wǎng)絡(luò)工程師筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ZigBee網(wǎng)絡(luò)地址的分配

    ZigBee 有兩種類型的地址:一種是 64 位 IEEE 地址,即 MAC 地址, 另一種是 16 位的網(wǎng)絡(luò)地址。16 位網(wǎng)絡(luò)地址是當(dāng)設(shè)備
    發(fā)表于 09-14 11:14 ?6527次閱讀

    4418板子支持apk配置網(wǎng)絡(luò)的ip地址

    想做一個(gè)apk來配置網(wǎng)絡(luò)的ip地址網(wǎng)關(guān)等網(wǎng)絡(luò)相關(guān)數(shù)據(jù),4418板子支持嗎
    發(fā)表于 01-06 07:53

    Ad Hoc網(wǎng)絡(luò)地址自動配置技術(shù)研究

    本文列舉了一些現(xiàn)有的Ad Hoc 網(wǎng)絡(luò)IP 地址自動配置方案,并對其優(yōu)劣進(jìn)行了分析,從而總結(jié)出解決該技術(shù)需要重點(diǎn)考慮的問題,在此基礎(chǔ)上提出了一種二段式的解決方案,最后通過
    發(fā)表于 08-14 09:28 ?10次下載

    嵌入式網(wǎng)絡(luò)設(shè)備地址動態(tài)配置的研究

    本文通過嵌入式結(jié)構(gòu)網(wǎng)絡(luò)設(shè)備̣:一款I(lǐng)PV6 核心路由器,系統(tǒng)地介紹了分布式系統(tǒng)中嵌入式結(jié)構(gòu)網(wǎng)絡(luò)設(shè)備地址的動態(tài)配置方法,該方法結(jié)合了F1ash 和只讀存儲器的靈活應(yīng)用,有效
    發(fā)表于 08-27 10:46 ?11次下載

    網(wǎng)絡(luò)地址,什么是網(wǎng)絡(luò)地址

    網(wǎng)絡(luò)地址,什么是網(wǎng)絡(luò)地址 網(wǎng)絡(luò)地址有兩種網(wǎng)絡(luò)尋址方案。一種是用于識別共享數(shù)據(jù)鏈接層LAN中的節(jié)點(diǎn),另一種是用來識別網(wǎng)絡(luò)環(huán)境中
    發(fā)表于 04-03 15:34 ?7704次閱讀

    一種針對網(wǎng)絡(luò)穩(wěn)定性的全I(xiàn)P車載網(wǎng)地址配置方案

    針對Pv6車載網(wǎng)中車輛節(jié)點(diǎn)速度影響網(wǎng)絡(luò)穩(wěn)定性的問題,提出一種全PP車載網(wǎng)地址配置方案。構(gòu)建全P車載網(wǎng)層次體系結(jié)構(gòu)和PPv6地址層次結(jié)構(gòu),以增強(qiáng)網(wǎng)絡(luò)
    發(fā)表于 03-30 10:58 ?11次下載
    一種針對<b class='flag-5'>網(wǎng)絡(luò)</b>穩(wěn)定性的全I(xiàn)P車載網(wǎng)<b class='flag-5'>地址</b><b class='flag-5'>配置</b>方案

    linux系統(tǒng)查看ip地址命令

    在Linux系統(tǒng)中,可以使用ifconfig命令來查看IP地址。ifconfig命令被用于配置和顯示網(wǎng)絡(luò)接口網(wǎng)絡(luò)參數(shù),包括IP
    的頭像 發(fā)表于 11-08 15:09 ?2268次閱讀

    IP地址配置沖突導(dǎo)致路由振蕩怎么辦?

    IP地址配置沖突導(dǎo)致路由振蕩怎么辦? 標(biāo)題:解決IP地址配置沖突導(dǎo)致的路由振蕩 引言: 在網(wǎng)絡(luò)中,IP
    的頭像 發(fā)表于 11-09 09:24 ?680次閱讀

    ubuntu系統(tǒng)ip地址配置

    在Ubuntu系統(tǒng)中配置IP地址,可以采用兩種方式: 通過命令直接配置。打開終端,輸入以下命令: sudo ifconfig eth0 IP地址 netmask 子網(wǎng)掩碼 這會
    的頭像 發(fā)表于 11-13 17:01 ?1.2w次閱讀

    linux配置網(wǎng)卡的ip及相關(guān)網(wǎng)絡(luò)參數(shù)

    在Linux系統(tǒng)中,配置網(wǎng)絡(luò)參數(shù)包括配置網(wǎng)卡的IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS等。本文將以詳盡、詳實(shí)、細(xì)致的方式介紹Linux系統(tǒng)中配置網(wǎng)卡
    的頭像 發(fā)表于 11-17 10:55 ?1765次閱讀

    centos7配置ip地址的方法

    分隔的數(shù)字組成。每個(gè)數(shù)字的取值范圍是0到255。在本文中,我們將詳細(xì)討論如何在CentOS 7上配置靜態(tài)和動態(tài)IP地址。 以下是配置IP地址的步驟: 確認(rèn)網(wǎng)卡名稱 在CentOS 7中
    的頭像 發(fā)表于 11-17 11:04 ?2373次閱讀

    CentOS7系統(tǒng)網(wǎng)絡(luò)配置命令

    們來配置網(wǎng)絡(luò)接口、IP地址、網(wǎng)關(guān)、DNS服務(wù)器等。 查看網(wǎng)絡(luò)接口(ifconfig命令): if
    的頭像 發(fā)表于 11-17 11:07 ?4201次閱讀

    Linux網(wǎng)絡(luò)基本配置與管理

    /resolv.conf用于配置DNS服務(wù)器。 a. /etc/network/interfaces文件: 該文件定義了網(wǎng)絡(luò)接口配置參數(shù),例如IP
    的頭像 發(fā)表于 11-27 16:51 ?692次閱讀

    交換機(jī)怎么配置IP地址

      在構(gòu)建和管理網(wǎng)絡(luò)架構(gòu)中,交換機(jī)作為核心設(shè)備之一,其IP地址配置是確保網(wǎng)絡(luò)正常運(yùn)行的重要步驟。正確配置交換機(jī)的IP
    的頭像 發(fā)表于 06-06 11:16 ?6090次閱讀

    IP地址網(wǎng)絡(luò)監(jiān)控

    在當(dāng)今的數(shù)字時(shí)代,網(wǎng)絡(luò)安全已成為企業(yè)和個(gè)人都十分關(guān)注的重要話題。通過IP地址進(jìn)行網(wǎng)絡(luò)監(jiān)控,可以有效地檢測異常流量和可疑活動,從而保護(hù)網(wǎng)絡(luò)免受潛在威脅。本文將詳細(xì)討論如何利用IP
    的頭像 發(fā)表于 07-09 16:41 ?250次閱讀