我正在尝试在eth0(Usb调制解调器)和wlan0(Wifi Hotspot)之间建立桥接,或者将所有流量从wlan0路由到eth0。
程序:
如果接口已经有ip,则Bridge不会成功。
ip addr flush dev eth0
ip addr flush dev wlan0
创建网桥并添加网络。
brctl addbr br0
brctl addif br0 eth0
启动wifi热点。此时我可以通过手机看到网络。
hostapd /etc/hostapd.conf -B &
为网桥分配IP。
ifconfig br0 192.168.0.1
启动dhcp-server,以便我的热点可以自动为连接的设备分配IP地址。
/etc/init.d/S80dhcp-server start
重置我的桥。
ifdown br0
ifup br0
配置文件
hostapd.conf:
interface=wlan0
bridge=br0
driver=nl80211
ctrl_interface=/var/run/hostapd
ssid=My_Network
dtim_period=2
beacon_int=100
channel=7
hw_mode=g
max_num_sta=8
ap_max_inactivity=300
的/ etc /网络/接口:
auto br0
iface br0 inet manual
bridge_ports eth0 wlan0
/etc/DHCP/DHCP.conf
ddns-update-style none;
option domain-name "google.com";
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.110;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}
dhcp-server返回OK,但是当我尝试连接到wifi热点时,我无法获得ip。关于如何进行的任何想法?
我终于成功完成了它。我没有使用桥接而是使用iptables。
只需这两个命令就足够了:
echo 1> / proc / sys / net / ipv4 / ip_forward
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1/24 -j MASQUERADE
Here是解释的答案来源