我正在尝试使用 vlan 上的静态 ip 设置 NetBSD 安装。路由器设置为只允许其他 vlan 访问此 vlan,反之则不允许。因此,NetBSD 安装应该能够 ping 外部世界并响应其他 vlan 上的设备的 ping。这与Unable to reach host with static ip and gateway is vlan - Debian 10只是不同的操作系统。我能够让那台机器使用相同的网关/服务器/网络掩码值。只是一个快速的总结......
路由器配置:
IP: 192.168.2.1
Netmask: 255.255.255.0
DHCP range: 192.168.2.2 - 192.168.2.10
这个特定的 VLAN 配置(VLAN 3):
VLAN IP: 192.168.0.1
Netmask: 255.255.255.0
DHCP range: 192.168.0.10 - 192.168.0.254
NetBSD/服务器配置:地址 192.168.0.2 网络掩码:255.255.255.0 网关:192.168.0.1
vlan 的手册页说要执行以下设置(适用于当前设置):
ifconfig vlan3 create
ifconfig vlan3 vlan 3 vlanif bce0
但是,我无法 ping 外部世界,也无法响应来自其他 vlan 的 ping。然后我尝试这样做:
create
vlan 3 vlanif bce0
并重新启动,但这产生了相同的结果。我通过将 192.168.0.2 分配给 vlan3ifconfig vlan3 192.168.0.2 netmask 255.255.255.0
得到了相同的结果。
我不确定是否缺少其他 vlan 干扰所以我创建了 ifconfig.vlan1 - ifconfig.vlan3 然后重新启动:
/etc/ifconfig.vlan1:
create
vlan 1 vlanif bce0 up
/etc/ifconfig.vlan2:
create
vlan 2 vlanif bce0 up
/etc/ifconfig.vlan3:
create
vlan 3 vlanif bce0 up
但我得到了同样的结果。我给vlan3分配了192.168.0.2,结果还是一样。
我尝试创建一个 tap ( ifconfig tap0 create
) 然后分配它 192.168.0.2 然后创建 vlan3 (我事先销毁了 vlan3 )然后做ifconfig vlan 3 vlanif tap up
,但结果是一样的。
如果我回到 /etc/ifconfig.vlan1-3 文件,没有分配给任何 vlan 接口的 ip tcpdump -vv -e vlan
,然后从其他 vlan ping 192.168.0.2,这是一个片段:
05:35:06.932765 90:a7:c1:b6:37:44 (oui Unknown) > Broadcast, ethertype 802.1Q (0x8100), length 60: vlan 3, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.0.2 tell 192.168.0.1, length 42
05:35:07.932679 90:a7:c1:b6:37:44 (oui Unknown) > Broadcast, ethertype 802.1Q (0x8100), length 60: vlan 3, p 0, ethertype ARP (0x0806), Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.0.2 tell 192.168.0.1, length 42
这是原始 tcpdump:https ://web.archive.org/web/20220112142651/https://tmpfiles.org/dl/188092/tcpdumpout
我确保我的默认路由是 192.168.0.1。
我不确定网络接口是否以错误的顺序加载,或者是否有默认情况下打开的防火墙/数据包过滤器,我不知道,但我不知道出了什么问题。