我正在尝试在 eth0 网卡上设置 VLAN。以下是我采取的步骤:
- 安装
vlan
sudo apt-get install vlan
/etc/network/interfaces
在 vi 中编辑并添加:auto eth0.100 iface eth0.100 inet dhcp
重启网络和/或重启 Ubuntu
- 冉
ifconfig
我没有看到列出的 eth0.100,我不确定我做错了什么。
我可以使用 vconfig 添加 VLAN,但它们在重启后不会保留。
答案1
首先你必须安装vlan
sudo apt-get install vlan
加载内核模块
sudo modprobe 8021q
创建一个属于特定 VLAN(VLAN ID 100)的新接口
我们在本例中使用物理接口 eth0。此命令将在已配置的接口旁边添加一个附加接口
sudo vconfig add eth0 100
为新接口分配地址:
sudo ip addr add 10.0.0.1/24 dev eth0.100
要使此设置永久生效,请在启动时将模块添加到内核
sudo bash -c 'echo "8021q" >> /etc/modules'
创建接口并使其在系统启动时可用。将以下行添加到/etc/network/interfaces
auto eth0.100
iface eth0.100 inet dhcp
vlan-raw-device eth0
答案2
创建 VLAN 接口的现代方法是使用ip link
iproute2。假设您想在接口 eno1 上运行 VLAN:
sudo ip link add link eno1 name vlan100 type vlan id 100
现在可选择给它一个地址:
sudo ip address add 10.0.0.100/24 dev vlan100
并提出:
sudo ip link set vlan100 up
为了使此操作永久生效,请vlan
在 中定义接口/etc/netplan/*
。它将如下所示:
network:
version: 2
ethernets:
eno1:
... eno1 config ...
vlans:
vlan100:
id: 100
link: eno1
addresses: [10.0.0.100/24]
详细文档位于netplan 参考。