一个网卡上的vlans和Linux NAT

我正在使用Linux服务器为小型企业networking执行iptables NAT路由。 我们还有一个24端口pipe理交换机,将为所有的墙上的以太网接口提供连接。

布局看起来像这样:

INTERNET | eth1 | [server] | eth0 | [ switch ] | | (vl1) (vl2) 

我的目标是让vlan1和vlan2完全相互隔离,尽pipe可以在服务器上共享Samba安装。 服务器也将通过Squid处理DHCP,防火墙和内容过滤。

到目前为止,我有一切,但vlan2工作。 我使用eth0作为192.168.1.1,eth0:1作为192.168.2.1,交换机在各自的vlan上分配为.2。 我然而,不能得到任何路由到192.168.2.2。 我尝试了几条不同的路线,但是我还没有取得任何进展。 目前,我正在使用默认值,即:

 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 192.168.2.0 * 255.255.255.0 U 0 0 0 eth0 

我想知道如果我可能需要切换到桥梁,但由于我几天不会在机器上,我不想惹事。 有没有人对解决scheme有一些build议? 我很想试用另一个网卡,但是我最终想添加vlan3,所以如果我只是试着去解决问题的话,我会在一个月之内回到这里。

从您提供的详细信息中,我没有看到任何VLANconfiguration的证据。 在Linux中,VLAN 2的接口的正确规范是eth0.2 ,而不是eth0:2 ,如果已经正确设置,则会在路由表中看到单独的接口。

还要确保你已经把第二个VLAN 标记到了服务器所插入的端口上(因为你不能 – 或者至less不应该 – 把两个VLAN放到一个没有标记的端口上),然后重新检查交换机上其他端口上的VLAN布局和设置。

完整的系统详细信息( ip addr listip route show ,networkingconfiguration文件的内容)和交换机configuration( show running-config或等效)将有助于我们提供更具体的解决scheme。