在linux系统中,使用ifconfig命令给网口配置ip,系统会自动生成这个网卡的相关路由信息,可以使用命令route –n查看系统所有的路由信息,参数-n是不进行地址解析,如果不添加-n选项,route命令会根据/etc/resolv文件中配置的DNS服务器进行地址解析,所以返回时间跟DNS服务器的响应时间有关系:
系统自动生成eth0的路由信息
可以看到系统自动生成了201网段的路由信息,凡是201这个网段的数据包都会通过eth0这个网口。但是目前还没有网关的信息,如果要通过eth0访问外网,还需要添加默认网关,linux系统中可以通过命令ip route命令添加默认网关,命令格式为ip route add default via <gateway>dev <interface>:
eth0的路由信息
添加默认网关后的路由信息如上图,其中Destination和Genmask为0.0.0.0的记录表明这是系统默认网关,默认网关的意思是当要发送数据包的目标网络地址不在系统的路由记录中时,系统会将该数据包通过默认网关对应的接口(网卡)发送出去,如果允许使用dhcp的话,还可以直接使用udhcpc命令,该命令会自动获取ip并设置默认网关:
使用udhcpc获取ip和设置默认网关
在多网络的情况下,比如以太网和wi-fi以及3G网络同时存在的时候,就会有多个路由信息多个默认网关。下图是核心板的以太网和wi-fi同时存在时的路由信息:
多网络路由信息
可以看到以太网eth0和wi-fi网络wlan0的路由信息都自动生成了,而且存在两个默认网关。如果访问外网,系统会根据路由缓存信息和速度最优的原则,通过速度更快的网关进行访问。Linux系统支持对默认网关的优先级进行设置,这时需要用到mteric这个参数,metric为跃点数,当系统中有多个默认网关时,数据包会通过metric更低的接口传输,通常情况下,默认的metric都为0,所以优先级是相同的。还是可以通过linux的命令ip route命令设置metric,命令格式为ip route add default via <gateway>dev <interface>metric <val>,下面我们就为eth0和wlan0设置优先级:
路由信息的优先级
如图所示我们为eth0设置的metric为100,wlan0的metric为101,这样以太网eth0的优先级就高于wlan0,数据包就会有先通过eth0通讯,如果以太网eth0关闭,则相关路由信息也会被清除掉,这时metric为101的默认网关优先级变为最高,数据包会自动改为通过wlan0通讯。通过traceroute命令可以验证这一点:
数据包通讯信息
可以看到数据包默认是通过优先级更高的网关通讯,当eth0关闭之后,数据就改为通过wi-fi网络的网关了。同时为了方便客户使用和参考,我们提供了一个管理路由信息的例程,让程序在后台运行,会检查有没有新的默认网关,如果有新的默认网关,则按照以太网>wi-fi>3G/4G网络的优先级顺序自动设置metic的值,如果需要更改则可以通过参数来设置三种网络的metric值:route_manager [metric for eth] [metric for wlan] [metric for ppp]
测试效果
路由信息在板卡重启之后会消失,板卡上自带以太网可以通过英创公司提供的userinfo.txt配置文件来设置以太网的ip和默认网关,或者设置为dhcp的方式。如果有扩展的wi-fi模块则可以通过脚本或自己保存一个配置文件来实现加载网口后自动进行设置ip和网关。3G/4G网络是使用的ppp拨号,ppp会自动生成默认网关。
准备流程:
1 首先准备/检查好环境。
主要是确定到底是centos6还是centos7系统,因为两个系统命令不同。
2 *** 作之前做好备份。
*** 作完成不一定成功,先备份好,给自己留条退路。
3 进行配置之后注意保存
4 配置完成需要检查
5 编写项目文档,方便交接
系统关机:
shutdown
1 ip address show/ip a #检查网卡地址配置
2 ping 网址/ip #测试网络的连接性
执行该命令,出现如下界面,选择【edit a connection】,在d出的新窗口中选择需要编辑的网卡,然后选择【edit】就进入网卡编辑窗口了。
当对网卡进行编辑好后,保存方式依次点击三个窗口的 【ok】->【back】->【quit】完成保存退出。注意,该方式只是重新配置好了,但还是没有生效,需要重新启动网卡服务才能生效。
4 systemctl restart network #系统控制 重启 网络服务
这里介绍一下网卡设置的一些概念的含义:
ip地址:网络通信的标识信息
子网掩码:在局域网中可以有多少个主机
网关地址:从一个局域网到另一个局域网的必经之路
1 ctrl+c#中断当前命令 *** 作(中断那些持续的命令)
2 ctrl+l #清屏 *** 作
ifconfig -a , 查看所有网卡的参数,ifconfig 查看活动网卡的信息,ifconfig + 对应的网卡名称,如:ifconfig eth0 ,就是查看eth0这块网卡的参数了欢迎分享,转载请注明来源:内存溢出
评论列表(0条)