如何將usb0和usb1介面合併到一個網路中?
我設置了三台設備,均執行 Ubuntu 14.04。設置如下所示:
我想要的是兩個設備都可以連接到網際網路但也可以相互連接的配置。理想情況下,主機 PC 從任一設備連接時都應具有相同的 IP。我嘗試了兩種可能的配置,但都失敗了。
1:usb0和usb1使用相同的IP和子網
主持人
iface usb0 inet static address 10.0.1.1 netmask 255.255.255.0 up route add 10.0.1.1 netmask 255.255.255.0 iface usb1 inet static address 10.0.1.1 netmask 255.255.255.0 up route add 10.0.1.1 netmask 255.255.255.0
設備 0
iface usb0 inet static address 10.0.1.2 netmask 255.255.255.0 route add default gw 10.0.1.1
設備 1
auto usb0 iface usb0 inet static address 10.0.1.3 netmask 255.255.255.0 route add default gw 10.0.1.1
!問題 !
只有設備 0 連接。這個可以被 ping 通,它可以連接到網際網路,但設備 1 完全退出遊戲。因此,它也沒有網際網路連接。
2:usb0和usb1的IP地址不同
主持人
iface usb0 inet static address 10.0.1.1 netmask 255.255.255.0 up route add 10.0.1.1 netmask 255.255.255.0 iface usb1 inet static address 10.0.2.1 netmask 255.255.255.0 up route add 10.0.2.1 netmask 255.255.255.0
設備 0
iface usb0 inet static address 10.0.1.2 netmask 255.255.255.0 route add default gw 10.0.1.1
設備 1
auto usb0 iface usb0 inet static address 10.0.2.2 netmask 255.255.255.0 route add default gw 10.0.2.1
!問題 !
我無法從設備號 1 ping 10.0.1.1。
問題
如何連接兩個 USB 介面,使其形成一個更大的本地網路,理想情況下,每台機器都有一個 IP 地址,連接到網際網路並能夠通過 SSH 訪問其他每一台機器?
您需要的是配置橋接。橋接的作用基本上是將一堆介面捆綁在一起,然後讓執行橋接的電腦充當交換機。IP 地址是在網橋介面本身上配置的,而不是在組成介面上配置的。
基本上有兩種方法可以做到這一點,要麼用兩個 USB 介面設置一個橋接器,然後使用 iptables 和大概某種 NAT 將機器路由到 Internet,或者你也可以同時使用兩個 USB 介面作為單個網橋中的物理介面。這樣,您就可以讓您的 USB 介面直接連接到您的 LAN 並通過這種方式訪問網際網路。
您可以選擇哪一個對您的應用程序更有意義。
假設您的主網路介面名為 eth0,usb 網路介面橋接到主網路的設置的配置 (
/etc/network/interfaces
) 可能如下所示。iface eth0 inet manual iface usb0 inet manual iface usb1 inet manual auto br0 iface br0 inet dhcp bridge_ports eth0 usb0 usb1
更多細節可以在Ubuntu 社區幫助 wiki中找到。
在此設置中,您的 USB 網路設備要麼從網路中現有的 DHCP 伺服器獲取 IP 地址,要麼在本地 LAN 中配置靜態 IP 地址。此外,您的 PC 將使用 DHCP 獲取 IP。如果您這樣做,請確保您的 USB 連接設備不執行 DHCP 伺服器,否則您可能會使網路的其他使用者交叉。:-)