eth0 케이블을 연결하면 USB wlan1 핫스팟이 작동을 멈춥니다.

eth0 케이블을 연결하면 USB wlan1 핫스팟이 작동을 멈춥니다.

Raspberry 4(Raspbian 사용)에서 , 및 (-인터페이스만 수신함 )을 통해 USB를 wlan1AP로 성공적으로 설정했습니다. 온보드 WIFI가 WAN 핫스팟에 연결되어 있는지 여부에 관계없이 클라이언트는 해당 인터페이스를 핑할 수 있습니다 . IP 전달/마스커레이드가 작동하며 WAN AP에 연결되면 클라이언트도 인터넷에 액세스할 수 있습니다. 완벽한!hostapdisc-dhcpdwlan1wlan0wlan1wlan1wlan0wlan1

그러나 플러그인하는 순간 eth0클라이언트 wlan1는 여전히 해당 AP에 연결할 수 있지만(상태 connected) 해당 인터페이스에 더 이상 PING을 보낼 수 없습니다 wlan1(그리고 더 이상 WAN 액세스가 불가능합니다). 이상 하네! DHCP 서버는 이전과 동일한 유효한 IP를 클라이언트에 푸시했으며 고정 IP wlan1도 동일하게 유지됩니다( 고정 IP를 갖습니다) eth0. Rapsberry에서 로컬로 ping을 보낼 수 있습니다(그러나 외부 클라이언트에서는 ping할 수 없음).wlan1wlan1

플러그를 뽑으면 eth0다시 작동합니다.

무엇이 잘못되었으며 왜 해당 인터페이스를 더 이상 ping할 수 없습니까?

sysctl IPv4 전달이 활성화되었습니다.

...
$ ip link
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
...
$ ip addr
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
...
$nft list ruleset
...
table ip nat {
        chain postrouting {
                type nat hook postrouting priority srcnat; policy accept;
                masquerade
        }
}
...
$ 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
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
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;
}
$ 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
...

답변1

귀하의 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가 모든 곳에 정의되기를 원할 것이므로 넷마스크를 /8이 아닌 /24로 eth0바꾸 십시오.wlan1

관찰된 동작에 관해서는 경로에 가중치가 있습니다. 더 빠른 인터페이스가 맨 위로 이동합니다. 귀하의 기계는 믿고 wlan1eth0다 동일한 목적지를 가리킵니다. 따라서 패킷을 다음을 통해 보냅니다.최상의유선 이더넷 인터페이스인 인터페이스(라우팅 테이블에서 가장 낮은 가중치). 별도의 서브넷으로 올바르게 구성되면 제대로 작동합니다.

관련 정보