如何通过 16.04 上的 LAN 接口标记 VLAN?我已经在 Mikrotik 路由器上创建了一个 VLAN 作为测试。为该 VLAN 分配了一个 IP,将该 VLAN 添加到一个端口,在地址列表中为该 VLAN 添加了一个 IP 地址。现在尝试从运行 Ubuntu 16.04 的笔记本电脑 ping 该 VLAN,但不太确定如何执行此操作?
有人能帮忙吗?非常感谢。谢谢
答案1
这就是我在机器上使用 VLAN 的方式。在我的情形下,我只需要在管理特定机器时访问 VLAN,因此默认情况下,网络接口以未标记的方式运行(即没有 VLAN 配置)。
我编写了一个小脚本,它可以创建在指定 VLAN 上运行的辅助接口:
#!/bin/bash
# This script will configure and start a virtual network interface which is a member of VLAN 2.
# TODO
# 0. Check if package 'vlan' has been installed and if not, prompt the user to do so.
# [code goes here]
# 1. Load the VLAN kernel module
sudo modprobe 8021q
# 2. Add enp1s0 to VLAN 2
sudo vconfig add enp1s0 2
# 2.1 Wait 3 seconds before bringing up enp1s0.2, otherwise enp1s0.2 will not get an IP
sleep 3
# 3. Bring up enp1s0.2 with IP address 10.0.0.2
sudo ifconfig enp1s0.2 10.0.0.2 netmask 255.255.255.0 up
注意:您需要替换“enp1s0”和 IP 信息以符合您的情况。
注 2:如代码所示,该脚本需要安装“vlan”包。您可以通过运行以下命令来执行此操作:
apt install vlan
如果有人知道如何在脚本中检查这种依赖关系,请告诉我。
注 3:此脚本不会永久添加具有 VLAN 访问权限的网络接口到您的计算机 - 当您重新启动时,它将消失。当然,您可以随时再次运行脚本,或编辑
/etc/network/interfaces
并将其添加到那里。但是,当我尝试在我的其中一台服务器上执行此操作时遇到了问题(实际上,我希望在这里找到该问题的答案,但我只找到了未解答的与 VLAN 相关的问题),因此可能不行。