Ubuntu系统配置静态IP和虚拟网卡

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

2人评论了“Ubuntu系统配置静态IP和虚拟网卡”

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注