背景

开发板目前只有一个网口,我需要多个网口进行通信,所以,需要通过usb hub扩展的USB A口扩展网口,因为Linux都继承好了驱动,所以插上就可以识别,现在就是要配置usb转网口模块的静态ip

也就是eth0是开发板的原生网口,eth1是usb网卡

静态IP

网络配置文件主要有以下几个:IP地址配置文件、主机名称配置文件、DNS配置文件。

在参考了好多的网络配置后,发现根据大部分你的教程重启后没有生效

是因为目前开发板是在/etc/rc.local中设置了IP

nano /etc/rc.local

发现有一句

ifconfig eth0 192.168.0.232
ifconfig eth1 192.168.0.30

首先需要注掉这一句,在/etc/network/interfaces中修改的配置才能生效
在这里插入图片描述
后面就是步入正轨,修改/etc/network/interfaces文件

编辑文件/etc/network/interfaces,打开文件位置
在这里插入图片描述
打开编辑

nano /etc/network/interfaces

并用下面的行来替换有关eth0的行:# The primary network interface

auto eth1
iface eth1 inet static
address 192.168.0.30
gateway 192.168.0.1
netmask 255.255.255.0

在这里插入图片描述
使用命令

ip addr

在这里插入图片描述
可以看到没有生效

用下面的命令使网络设置生效:

/etc/init.d/networking restart

在这里插入图片描述
这时候ip addr命令查看

在这里插入图片描述
然后

reboot

重启之后发现IP没有保存,不可能每次启动都要重启网络服务

在/etc/rc.local中添加命令

sleep 1
/etc/init.d/networking restart

最后再执行

sync

对以上改动进行保存

重启后发现配置文件已生效

问题记录

虽然配置好了eth1的网卡静态ip,但是,还是无法ping通我的主机ip:192.168.0.2
在这里插入图片描述

原因分析

经过分析,原来是我的两个网卡在同一个网段内,在ping的时候无法自动切换到我想要测试得eth1网卡

解决一

使用命令

ifconfig eth0 down

在这里插入图片描述
然后再ping 我的PC主机
在这里插入图片描述
可以ping通

解决二

如果不使用ifconfig eth0 down命令,也可以通过设置不在一个网段中来解决

上一步中进行了down,现在要up回去
在这里插入图片描述
然后,修改eth0的ip,eth0原本的ip是192.168.0.232,现在修改成192.168.1.232
在这里插入图片描述
然后ping 192.168.0.2,也可以ping通了

在这里插入图片描述

Logo

更多推荐