Linux
一個 NIC 上的 VLAN 和 Linux NAT
我正在使用 Linux 伺服器為小型企業網路執行 iptables NAT 路由。我們還有一個 24 埠管理型交換機,將為所有牆壁乙太網插孔提供連接。
佈局如下所示:
INTERNET | eth1 | [server] | eth0 | [ switch ] | | (vl1) (vl2)
我的目標是使 vlan1 和 vlan2 彼此完全隔離,儘管能夠在伺服器上共享 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
我想知道我是否可能需要切換到橋接器,但由於我將有幾天不在機器旁,所以我不想惹麻煩。有人對解決方案有一些建議嗎?我很想再扔一個網卡,但我想最終添加 vlan3,所以如果我只是嘗試解決這個問題,我會在一個月後回到這裡。
從您提供的詳細資訊中,我沒有看到任何 VLAN 配置的證據。Linux 中 VLAN 2 介面的正確規範是
eth0.2
, noteth0:2
,如果您正確設置了它,您將在路由表中看到單獨的介面。還要確保您已將第二個 VLAN標記到伺服器插入的埠上(因為您不能 - 或者至少不應該 - 將兩個 VLAN 放在一個未標記的埠上),然後重新檢查交換機上其他埠的 VLAN 佈局和設置。
完整的系統詳細資訊(
ip addr list
,ip route show
,網路配置文件的內容)和交換機配置(show running-config
或等效)將幫助我們提供更具體的解決方案。