我有兩個網路介面:eth0 (10.0.0.0) 和 usb0 (umts usb-modem)
me@ThinkCentre-A50:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.41.250.0 0.0.0.0 255.255.255.128 U 1 0 0 eth0
192.168.42.0 0.0.0.0 255.255.255.0 U 1 0 0 usb0
我怎樣才能同時使用兩個網路。透過usb0上網(www),並透過eth0連接到本地網路?
答案1
你其實可以!您所要做的就是確保使用 USB 數據機作為預設網關,並讓它 NAT(實際上這是 PAT)您的本機位址到其全域路由位址。網關可以設定為
route add default gw 192.168.42.X
其中 X 是 USB 數據機的本機 IP 位址。本地 10.41.250.1-126 位址將透過 eth0 傳輸,其餘位址將透過預設閘道傳輸。
我無法告訴您如何配置 umts-modem,因為我對此一無所知。
也許您需要一個與其綁定的附加守護程序 (pppd),然後它將處理連接和地址的設定。一旦 USB 連接埠上有 ip 連接,您就可以使用“iptables”或類似的“偽裝”本地位址。
答案2
首先,機器透過其介面存取網路。人們常說“機器的IP位址是......”,但這是不正確的,IP位址屬於一個介面。甚至可以將多個IP位址分配給同一個網路卡。由於大多數機器只有一個介面和一個 IP 位址,因此通常不會造成混亂,但當涉及多個介面/位址時,事情會變得複雜。最好不要這樣做。
如果透過USB介面設定預設網關,全部不進入直接連接到其他介面的網路的流量將通過它。除非你走嚴重地不妨礙您,您無權決定使用哪個介面。
如果你想讓10.0.0.0(內部)網路上的其他機器能夠存取外網,你必須將這台機器設定為路由器,並順便透過外網NAT(真正的PAT)內部位址。閱讀有關在 Ubuntu 中設定防火牆的資訊。可能有 GUI 應用程式可以執行此操作,因為我從未使用過 Ubuntu(而且我對 GUI 過敏),所以我無能為力。大概你的「外部」192.168.42.0 位址是由 DHCP 配置的,我也從未在這種情況下設定過防火牆,抱歉。
答案3
- 刪除預設路由
route del 0/0
- 新增 LAN 路由以經過 eth0
route add net 10.41.250.0/25 gw 10.41.250.1 eth0
- 新增預設路由以經過 usb0
route add default 192.168.42.1 usb0
假設您的 LAN 閘道的 IP 位址為 10.41.250.1,而 WAN 閘道的 IP 位址為 192.168.42.1。