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”
“透过 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网络配置完全解析