首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当wlan1电缆插入时,USB eth0热点停止工作

当wlan1电缆插入时,USB eth0热点停止工作
EN

Server Fault用户
提问于 2022-12-16 22:02:17
回答 1查看 39关注 0票数 0

我通过hostapd成功地将USB wlan1设置为AP,isc-dhcpd (只听wlan1-interface)在Raspberry 4上(使用Raspbian)。无论wlan0 (车载WIFI)是否连接到广域网热点,wlan1客户端都可以平移该wlan1接口。IP转发/伪装可以工作,如果wlan0连接到广域网AP,wlan1客户端也可以访问internet。太棒了!

但是在我插入eth0的那一刻,wlan1客户端仍然可以连接到AP (Status connected),但是不能再平那个wlan1接口了(不再有广域网访问)。太奇怪了!DHCP将相同的有效IP推送给客户端,wlan1的静态IP也保持不变(eth0wlan1具有静态IP)。wlan1可以在本地从rapsberry (但不是来自外部客户端)进行单击。

当我拔掉eth0插头时,它又开始工作了。

出什么问题了,为什么我不能再平那个接口了?

启用sysctl IPv4转发。

代码语言:javascript
复制
...
$ ip link
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
3: wlan0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
4: wlan1:  mtu 1500 qdisc mq state UP group default qlen 1000
...
代码语言:javascript
复制
$ ip addr
...
2: eth0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e4:5f:01:84:db:34 brd ff:ff:ff:ff:ff:ff
    inet 10.8.0.2/8 brd 10.255.255.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
...
3: wlan0:  mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether e4:5f:01:84:db:37 brd ff:ff:ff:ff:ff:ff
4: wlan1:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether a0:f3:c1:23:2d:62 brd ff:ff:ff:ff:ff:ff
    inet 10.8.5.1/8 brd 10.255.255.255 scope global noprefixroute wlan1
       valid_lft forever preferred_lft forever
...
代码语言:javascript
复制
$nft list ruleset
...
table ip nat {
        chain postrouting {
                type nat hook postrouting priority srcnat; policy accept;
                masquerade
        }
}
...
代码语言:javascript
复制
$ cat /etc/hostapd/hostapd.conf 
interface=wlan1
#If this fails, try rt1871xdrv a
#driver=nl80211
# Name of the new network: best use the hostname
ssid=xxx

# Pick a channel not already in use
channel=1
# Change to b for older devices?
hw_mode=g
macaddr_acl=0
auth_algs=3
# Disable this to insure the AP is visible:
ignore_broadcast_ssid=0

wpa=2
wpa_passphrase=xxx
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

#bridge=br0 # no bridge! We're using routing
country_code=JP
代码语言:javascript
复制
cat /etc/dhcpcd.conf 
...
interface eth0
static ip_address=10.8.0.2/8
static routers=10.8.0.1
static domain_name_servers=127.0.0.1

interface wlan1
static ip_address=10.8.5.1/8
nohook wpa_supplicant
static domain_name_servers=127.0.0.1

interface wlan0
static domain_name_servers=127.0.0.1
代码语言:javascript
复制
cat /etc/dhcp/dhcpd.conf
...
authoritative;

subnet 10.8.5.0 netmask 255.255.255.0 {
  range 10.8.5.201 10.8.5.250;
  option broadcast-address 10.8.5.255;
  option routers 10.8.5.1;
  default-lease-time 600;
  max-lease-time 7200;
  option domain-name "local";
  option domain-name-servers 10.8.5.1;
}

host ares {
  hardware ethernet 04:ea:56:ae:58:03;
  fixed-address 10.8.5.20;
}
代码语言:javascript
复制
$ ipconfig # on Windows 11 Client
...
Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . : local
   Description . . . . . . . . . . . : Intel(R) Dual Band Wireless-AC 8265
   Physical Address. . . . . . . . . : 04-EA-56-AE-58-03
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::9300:7ccf:3e03:eaf9%17(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.8.5.20(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Friday, 16 December 2022 22:56:38
   Lease Expires . . . . . . . . . . : Friday, 16 December 2022 23:06:37
   Default Gateway . . . . . . . . . : 10.8.5.1
   DHCP Server . . . . . . . . . . . : 10.8.5.1
   DHCPv6 IAID . . . . . . . . . . . : 168094294
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-26-1E-05-25-48-2A-E3-3A-C9-F0
   DNS Servers . . . . . . . . . . . : 10.8.5.1
   NetBIOS over Tcpip. . . . . . . . : Enabled
...
EN

回答 1

Server Fault用户

回答已采纳

发布于 2022-12-16 22:19:13

您的IP地址是:

  • 10.8.0.2/8用于wlan1
  • 10.8.5.1/8用于eth0

它们在同一个子网中。10.0.0.0/8涵盖10.0.0.0至10.255.255.255之间的所有内容。

然而,在您的DHCP范围内,网络掩码突然变成了/24。

一般规则是,如果要在子网内发送通信量,则需要交换机(网桥),而需要路由器在子网之间发送通信量。当您的机器从一个连接的客户端(它们认为10.8.5.0/24是一个子网)获得一个数据包时,它不知道该如何处理它,因为它的地址是与发起人位于同一子网中的主机。

您可能希望在任何地方定义/24,所以将eth0wlan1的网络掩码替换为/24,而不是/8。

至于观察到的行为:路线承载一个重量。更快的接口浮到顶部。您的机器相信wlan1eth0都指向同一个目的地。因此,它通过最佳接口(路由表中的最小权重)发送数据包,即有线以太网接口。如果适当地配置了单独的子网,它就会工作得很好。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1118248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档