文章目录
1.卸载Network Manager服务
Network Manager (Ubuntu自带的网络管理服务) 对虚拟子接口的兼容性并不好,因此需要卸载后改用Networking服务来管理网卡。
#卸载Network Manager服务 apt-get remove network-manager #卸载Network Manager图形化界面 apt-get remove network-manager-gnome
在ssh连接的环境下必须直接采用remove指令(卸载)而不是disable(禁用),否则主机会直接断网失联。
2.配置Networking服务
卸载掉Network Manager后开始手动配置Networking服务的interfaces文件
#打开interfaces文件 vi /etc/network/interfaces
以有线网卡eth0 eth1,无线网卡wlan0为例,在interfaces内添加或修改以下内容
#添加本地回环路线 auto lo iface lo inet loopback #将有线网卡eth0的连接方式设定为动态获取 auto eth0 iface eth0 inet dhcp #将有线网卡eth1的连接方式设定为静态IP auto eth1 iface eth1 inet static #设定该网卡的静态IP地址 address 192.168.10.110 #设定子网掩码 netmask 255.255.255.0 #设定网关 gateway 192.168.10.1 #将无线网卡wlan0的连接方式设定为动态获取 auto wlan0 iface wlan0 inet dhcp
保存更改后重启networking服务
/etc/init.d/networking restart
3.安装udhcpc服务
使用networking服务时遇到了无法自动获取/续租IP的问题,因此需要手动添加定时脚本,用dhcp服务来刷新网口状态。
自带的dhclient服务功能不如udhcpc强大,因此我更喜欢使用udhcpc来管理动态IP。
#安装udhcpc服务 apt-get update apt-get install udhcpc
安装完成后可使用以下指令刷新动态IP
#刷新动态IP udhcpc -n #刷新无线网卡动态IP udhcpc -i wlan0 -n
4.配置虚拟网卡
在实际操作中我发现通过修改interfaces文件永久添加的虚拟网卡会和其依赖的物理网口发生MAC地址冲突,导致虚拟网卡无法被拉起。
因此采用挂载临时子接口的方式实现
ifconfig eth0:0 192.168.10.10 up
需要注意的是每执行一次udhcpc刷新指令,临时子接口将会消失,因此建议编写一个脚本来将这两个指令绑定执行。
#!/bin/bash udhcpc -n ifconfig eth0:0 192.168.10.10 up
Awesome
wow