【问题标题】:eth0 (modem usb) and wlan0 (wifi module) interconnectioneth0(modem usb)和wlan0(wifi模块)互连
【发布时间】:2023-09-27 16:47:01
【问题描述】:

我正在尝试在 eth0(Usb 调制解调器)和 wlan0(Wifi 热点)之间建立桥接,或者将所有流量从 wlan0 路由到 eth0。

程序:

如果接口已经有 ip,则桥接将不会成功。

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/network/interfaces:

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 服务器返回正常,但是当我尝试连接到 wifi 热点时,我无法获取 IP。 关于如何进行的任何想法?

【问题讨论】:

    标签: linux networking routes bridge hostapd


    【解决方案1】:

    我终于成功了。 我没有使用桥接器,而是使用 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是有解释的答案来源

    【讨论】:

      相关资源