我有三个Ubuntu的特立独行的机器和一个接入点。 我想能够设置以下场景:

设置如下:
在这幅图中,我想要做的事情是:
我以为我可以连接计算机2上的有线和无线连接,因此所有的192.168.0。*接口似乎都在同一个子网上,并且看起来都可以直接互相访问,但是我一直在玩brctl (bridge-utils)和/ etc / network / interfaces,并没有得到它的工作。
至于从计算机1通过计算机2访问互联网,我敢肯定,我可以在计算机2上设置NAT和IP转发,按照这些说明 (我以前做过),但是我已经被困在桥梁,并没有进一步冒险。
最可能的问题是您的计算机2上的无线接口不支持桥接。 这里是解释原因可能是什么。
这是一个众所周知的问题,在许多情况下,Linux无法提供解决scheme(事实上,甚至不太可能在Windows中工作)。
但是,还有其他解决scheme。 他们涉及使用单独的网段和一些路由,但他们会给你你想要的。 基本上你需要将computer2设置为路由器。 为了这个工作正常,我build议在有线和无线网段上使用单独的子网。
编辑:添加子网到上图以显示解决scheme,以及启动脚本来configurationnetworking。 脚本还允许计算机1通过计算机2上的NAT进行互联网。

#!/bin/bash PATH=/usr/sbin:/sbin:/bin:/usr/bin WAN=wlan0 WAN2=eth1 LAN=eth2 LANIP=192.168.0.5 ifconfig ${LAN} ${LANIP} netmask 255.255.255.254 up iptables -F iptables -t nat -F iptables -A INPUT -i lo -j ACCEPT iptables -I INPUT 1 -m state --state NEW -i ${LAN} -j ACCEPT iptables -I INPUT 1 -m state --state NEW -i ${WAN} -j ACCEPT iptables -A FORWARD -i ${WAN2} -o ${LAN} -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i ${LAN} -o ${WAN} -j ACCEPT iptables -A FORWARD -i ${WAN} -o ${LAN} -j ACCEPT iptables -A FORWARD -i ${LAN} -o ${WAN2} -j ACCEPT iptables -t nat -A POSTROUTING -o ${WAN2} -j MASQUERADE iptables -A FORWARD -i ${WAN} -o ${WAN} -j REJECT iptables -A FORWARD -i ${WAN2} -o ${WAN2} -j REJECT for file in ${LAN} ${WAN} ${WAN2}; do echo "1" > /proc/sys/net/ipv4/conf/${file}/proxy_arp echo "1" > /proc/sys/net/ipv4/conf/${file}/forwarding done echo 1 > /proc/sys/net/ipv4/ip_forward