在 Ubuntu 12.04 桌面上配置虚拟 LAN 接口的正确方法是什么(希望不会弄乱网络管理器)?
简单地添加接口似乎/etc/network/interfaces
会导致网络管理器有些混乱:
auto vlan500
iface vlan500 inet static
...
...
vlan_raw_device eth1
有没有更好的方法呢?
更新:
我/etc/NetworkManager/NetworkManager.conf
用一个no-auto-default
子句进行了更新,并managed=false
在该[ifupdown]
部分中设置:
[main]
plugins=ifupdown,keyfile
dns=dnsmasq
no-auto-default=6C:FD:12:34:56:78,
[ifupdown]
managed=false
这样 NetworkManager 就不会启动 eth0,并使其远离 eth1 及其 VLAN 接口。以前,它只允许单个 VLAN 接口启动,并将该 VLAN 接口的静态 IP 直接放在 eth1 物理接口上。
不过,由于(我猜测)NetworkManager 正在尝试解决网络配置问题,因此启动期间仍有 2 分钟的延迟。
解决方案:
通过创建密钥文件解决了这个问题,如下面的回答所述。我的桌面现在启动时所有 VLAN 接口都已启动并运行,启动过程中没有任何延迟。
答案1
在您的计算机上安装 VLAN 包:
sudo apt-get 安装 vlan
编辑 /etc/network/interfaces 文件,使其包含以下内容:
#环回网络接口
auto lo
iface lo inet loopback
#This is a list of hotpluggable network interfaces. #They will be activated automatically by the hotplug subsystem.
auto vlan500
#VLAN 500
iface vlan500 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
network xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxx.xxx
mtu 1500
vlan_raw_device eth0
笔记:您必须用您自己的 IP 地址、网络掩码和网关 IP 地址替换我的 IP 地址、网络掩码和网关 IP 地址。
3.确保您所连接的交换机接口配置了相应的 VLAN。
4.重新启动网络接口:
sudo /etc/init.d/networking restart
你应该看到类似这样的内容:
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 500 to IF -:eth0:-
答案2
事实证明,下拉允许网络管理器使用/etc/网络/接口,所以我们必须手动添加一个密钥文件对于网络管理器。
首先生成唯一唯一标识符对于 VLAN 接口
root@kayna:~# uuidgen -r
5985c23f-2f9b-4e09-a33e-97505c79c78f
然后创建密钥文件,下面是物理接口 eth1 上的 vlan id 200 的示例
root@kayna:~# vi /etc/NetworkManager/system-connections/vlan200
[connection]
id=vlan200
type=vlan
uuid=5985c23f-2f9b-4e09-a33e-97505c79c78f
[vlan]
parent=eth1
id=200
[ipv6]
method=ignore
[ipv4]
method=auto
该界面不会显示在 GUI 中,但可以通过以下方式查看和管理nmcli
root@kayna:~# nmcli dev
DEVICE TYPE STATE
eth1.200 vlan connected
eth0 802-3-ethernet disconnected
eth1 802-3-ethernet connected
使用以下方式停止和启动接口
root@kayna:~# nmcli con down id vlan200
root@kayna:~# nmcli con up id vlan200
Active connection state: activating
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/12
state: activated
Connection activated
界面是使用创建的eth1.200格式,而不是VLAN200格式通常用于/etc/网络/接口
root@kayna:~# ifconfig eth1.200
eth1.200 Link encap:Ethernet HWaddr c8:60:00:00:00:56
inet addr:192.168.1.46 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:185 errors:0 dropped:0 overruns:0 frame:0
TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:29811 (29.8 KB) TX bytes:9549 (9.5 KB)