我有三个设备的设置,全部运行Ubuntu 14.04。 设置如下:
我想要的是两个设备可以连接到互联网,但也可以相互连接的configuration。 理想情况下,从任一设备连接到主机时,主机应具有相同的IP。 我试过两种可能的configuration,但都失败了。
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
iface usb0 inet static address 10.0.1.2 netmask 255.255.255.0 route add default gw 10.0.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完全没有游戏。 因此它也没有互联网连接。
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
iface usb0 inet static address 10.0.1.2 netmask 255.255.255.0 route add default gw 10.0.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接口,使其形成一个更大的本地networking,理想情况下,每台计算机都有一个IP地址,连接到互联网,并且能够通过SSH访问所有其他计算机?
你需要的是configuration桥接。 桥接将做什么,基本上是把一堆接口绑在一起,然后让运行这个桥的计算机作为交换机。 IP地址在桥接口本身configuration,而不是在组成接口。
基本上有两种方法可以做到这一点,无论是用两个USB接口build立一个桥接,然后使用iptables和大概某种NAT将机器路由到Internet,或者也可以同时使用两个USB接口作为单个桥梁中的物理接口。 这样,你可以让你的USB接口直接连接到你的局域网,并以这种方式访问互联网。
这取决于您select哪一个更适合您的应用程序。
假设您的主networking接口被称为eth0,那么将USBnetworking接口桥接到主networking的configuration( /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中find 。
在此设置中,USBnetworking设备将从networking中的现有DHCP服务器获取IP地址,或者在本地LAN中configuration静态IP地址。 另外你的电脑将使用DHCP获得IP。 确保您的USB连接的设备不运行DHCP服务器,如果您这样做,或者您可能使您的networking的其他用户交叉。 🙂
最后configuration如下:
的/ etc /networking/接口
auto br0 iface br0 inet static address 10.0.1.1 netmask 255.255.255.0 bridge_ports usb0 usb1 pre-up ip addr flush dev usb1 pre-up ip addr flush dev usb0
在/etc/rc.local
sleep(15) echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward > /dev/null iptables -P FORWARD ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE -s 10.0.1.0/24
的/ etc /networking/接口
auto usb0 iface usb0 inet static address 10.0.1.2 netmask 255.255.255.0 dns-nameserver 8.8.8.8 up route add default gw 10.0.1.1
的/ etc /networking/接口
auto usb0 iface usb0 inet static address 10.0.1.3 netmask 255.255.255.0 dns-nameserver 8.8.8.8 up route add default gw 10.0.1.1