Linux

一個 NIC 上的 VLAN 和 Linux NAT

  • November 14, 2009

我正在使用 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, not eth0:2,如果您正確設置了它,您將在路由表中看到單獨的介面。

還要確保您已將第二個 VLAN標記到伺服器插入的埠上(因為您不能 - 或者至少不應該 - 將兩個 VLAN 放在一個未標記的埠上),然後重新檢查交換機上其他埠的 VLAN 佈局和設置。

完整的系統詳細資訊(ip addr list, ip route show,網路配置文件的內容)和交換機配置(show running-config或等效)將幫助我們提供更具體的解決方案。

引用自:https://serverfault.com/questions/84801