linux網絡配置完全解析


概述:熟悉了windows下面的網絡配置,對linux下的網絡配置缺未必了解透徹。熟練掌握linux下的網絡配置原理,能幫助我們更容易掌握網絡傳輸原理;同時具備一些網絡連接不通對應問題的排查能力。文本主要為你講解網絡連接的基本原理,配置方法,常見錯誤的解決方法等。


一、網絡連接的基本原理


1)物理層面:首先保證你的pc具備連接到internet的基本物理鏈路,網卡

2)軟件層面:網卡mac地址,ip地址,路由表,dns服務器

3)鏈接過程:

數據包的流動順序如下:

本地應用程序——網卡——網關——外部路由器——目的主機

可以使用linux下的traceroute查看:

 

 1  10.10.18.254 (10.10.18.254)  0.523 ms  0.745 ms  0.929 ms
 2  159.226.41.190 (159.226.41.190)  4.881 ms  4.918 ms  5.088 ms
 3  192.168.200.1 (192.168.200.1)  5.516 ms  5.586 ms  5.507 ms
 4  159.226.43.36 (159.226.43.36)  6.483 ms  6.179 ms  6.659 ms
 5  192.168.46.49 (192.168.46.49)  5.858 ms  5.635 ms  5.844 ms
 6  159.226.253.77 (159.226.253.77)  6.136 ms  1.811 ms  5.088 ms
 7  159.226.253.46 (159.226.253.46)  28.114 ms  28.009 ms  28.049 ms
 8  219.142.17.37 (219.142.17.37)  8.392 ms  7.493 ms  8.678 ms
 9  219.142.9.110 (219.142.9.110)  832.102 ms  832.619 ms  832.096 ms


其中,本地應用程序數據能否發送到網卡取決於內核;

 

網卡能否發送到網關——》網卡ip配置和本機路由表配置

網卡能否發送到路由器——》網關配置

外部路由器能否發送到目的主機——》路由配置情況和目的主機


2.配置方法


1 )測試網卡與整個內核的網絡服務是否正常:ping localhost

這個命令是ping本機,如果暢通,說明網卡和內核提供的相關服務是正常的,這一點一般都可以滿足


2)測試與網關的連接是否暢通

在終端輸入route   -n命令,可以查看默認網關地址,然后ping這個地址查看相關ip地址和mac地址

 

br0       Link encap:Ethernet  HWaddr 00:25:90:63:84:6A  
          inet addr:10.10.129.92  Bcast:10.10.129.255  Mask:255.255.255.0
          inet6 addr: 2001:470:f822:d0:225:90ff:fe63:846a/64 Scope:Global
          inet6 addr: 2001:cc0:2026:c000:225:90ff:fe63:846a/64 Scope:Global
          inet6 addr: fe80::225:90ff:fe63:846a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:584156 errors:0 dropped:0 overruns:0 frame:0
          TX packets:62887 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:57043629 (54.4 Mb)  TX bytes:60873751 (58.0 Mb)

eth0      Link encap:Ethernet  HWaddr 00:25:90:63:84:6A  
          inet6 addr: 2001:cc0:2026:c000:225:90ff:fe63:846a/64 Scope:Global
          inet6 addr: 2001:470:f822:d0:225:90ff:fe63:846a/64 Scope:Global
          inet6 addr: fe80::225:90ff:fe63:846a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:585455 errors:0 dropped:0 overruns:0 frame:0
          TX packets:67453 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:65406243 (62.3 Mb)  TX bytes:61197875 (58.3 Mb)
          Memory:fade0000-fae00000 

如上圖,會出現本機的相關虛擬和物理的網絡設備的相關配置

 


3)如何修改mac地址?

情景:一些地方,往往需要我們將mac和ip綁定才能進行上網,此時我們需要進行mac地址的綁定,操作如下:

#ifconfig eth0 down 
先把網卡禁用 
再用ifconfig eth0 hw ether 1234567890ab 
這樣就可以改成功了
要想永久改就這樣
在/etc/rc.d/rc.local里加上這三句(也可以在/etc/init.d/network里加下面三行):實際上是設置了開機自動運行
ifconfig eth0 down
ifconfig eth0 hw ether 1234567890ab 
ifconfig eht0 up


4)如何配置DNS

 

/etc/hosts                 // 配置本機主機名,可以省略
/etc/host.conf            // 必須的,本地dns客戶端的配置文件
/etc/resolv.conf          // 必須的, 配置dns服務器地址

sudo /etc/init.d/networking restart

 

5)如何配置路由表

我們先來看看一個傳統的路由表:

$ route -n Kernel IP routing table Destination     Gateway         Genmask         Flags Metric Ref    Use Iface 0.0.0.0         10.10.18.254    0.0.0.0         UG    0      0        0 eth0 10.10.0.0       0.0.0.0         255.255.0.0     U     1      0        0 eth0 10.122.0.0      0.0.0.0         255.255.252.0   U     2      0        0 wlan0 169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0 192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

我們來解釋以下路由表的功能:192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0表示,發送到192.168.122.x這個網段的數據包,不需要禁果gateway,二十直接廣播,通過的設備是virbr0

0.0.0.0         10.10.18.254    0.0.0.0         UG    0      0        0 eth0
10.10.0.0       0.0.0.0         255.255.0.0     U     1      0        0 eth0

這兩行要特別注意:

1)第二行表示發送到10.10.x.x這個網段的地址,會經過eth0廣播出去;

2)第一行表示,如果一個網段的地址不再其他的網段里面,經過eth0發送到默認網關10.10.18.254;這個地方有一個需要特別注意的地方,如果這個網關地址是不可達的(去掉第二行,它就不可達了),此時如果添加這個路由器,將會出現錯誤提示:“no such process”

 

在添加一個新的網段時,它的出口地址應該是當前ip routing table表中的當前有的地址,否則會出現這個錯誤:SIOCADDRT: 沒有那個進程。第一點中使用第二個命令時,網關是默認的default gw,因此可以使用了。突然間想起鳥哥私房菜里的那句話了,

 

“透過 route add 來增加一個路由!請注意,這個路由必須要能夠與你互通”和“你只要記得,當出現『SIOCADDRT: Network is unreachable』 這個錯誤時,肯定是由於 gw 後面接的 IP 無法直接與您的網域溝通 (Gateway 並不在你的網域內), 所以,趕緊檢查一下是否輸入錯誤啊!加油吧!”

 

6)如何修改IP地址

#ifconfig ethe0 down
#ifconfig ethe0 192.168.169.245 netmask 255.255.255.0
以上的方法下次啟動時就無效了
如果要以后每次都生效則加入到以下文件里面
在/etc/sysconfig/network-scripts/下修改ifcfg-eth0地址
一塊網卡添加兩個ip地址
ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0
ifconfig eth0:2 192.168.1.2 netmask 255.255.255.0
以上是對網卡eth0修改了兩個IP地址的方法

 

 本文來源:誰不小心的CSDN博客 linux網絡配置完全解析




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM