내 Android 휴대폰이 WiFi 연결을 통해 DHCP 주소를 얻으려고 시도했지만 실패했습니다.
분명히 모든 것을 한 번에 수행할 수 있는 완전한 가이드를 찾을 수 없었기 때문에 설정을 엉망으로 만들었을 것입니다. 그래서 여러 가이드를 결합해야 했지만 여전히 Linux의 네트워크 구성이 조금 낯설기 때문입니다.
내가 달성하고 싶은 것:
- 동일한 네트워크에 있는 모든 장치가 IP 주소를 받을 수 있도록 WiFi 액세스 포인트와 DHCP 서버를 만듭니다. 인터넷 액세스가 필요하지 않으므로 라우팅이 필요하지 않습니다. WiFi 또는 이더넷을 통해 연결된 모든 장치에 IP 주소를 제공하는 스위치(브리지) 역할을 하는 서버가 있는 로컬 네트워크만 있으면 됩니다.
이것이 내가 가진 것입니다:
Ralink RT5370 WiFi 동글(액세스 포인트를 지원한다고 주장됨)과 두 개의 이더넷 포트(하나는 RPi의 내장 포트이고 다른 하나는 Trendnet TU2-ET100(칩 AX88772))가 있는 Linux 시스템(실제로는 Raspbian이 포함된 Raspberry Pi)
bridge-utils 및 dnsmasq를 설치했으며 이더넷 연결에 모든 것이 문제가 없습니다. RPi 이더넷 포트에 연결된 모든 장치는 dnsmasq를 통해 RPi로부터 IP 주소를 받습니다.
우선, Hostapd를 설치하고 개방형 AP로 구성했습니다. WPA를 사용해 보았지만 Android 휴대폰에서도 "인증 실패" 메시지가 표시되어 실패하여 인증을 비활성화했습니다. 이제 내 Android 장치가 IP 주소를 얻으려고 시도하다가 실패합니다.
이것은 내 구성 파일입니다.
/etc/default/hostapd:
interface=wlan0
hw_mode=g
bridge=br0
channel=1
ssid=FakeTestServer_AP
auth_algs=1
wmm_enabled=0
/etc/default/hostapd:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
/etc/네트워크/인터페이스:
auto lo
iface lo inet loopback
auto br0
iface eth0 inet manual
iface eth1 inet manual
iface br0 inet static
bridge_ports eth0 eth1 wlan0
bridge_stp off
bridge_fd 0
bridge_waitport 0
bridge_maxwait 0
address 10.0.0.1
netmask 255.255.255.0
/etc/dnsmasq.conf:
interface=br0
dhcp-range=10.0.0.2,10.0.0.254,255.255.255.0,12h
ifconfig
표시되는 내용 은 다음과 같습니다 .
br0 Link encap:Ethernet HWaddr 00:14:d1:da:c7:dc
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::214:d1ff:feda:c7dc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1343 errors:0 dropped:0 overruns:0 frame:0
TX packets:212 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:83674 (81.7 KiB) TX bytes:16750 (16.3 KiB)
eth0 Link encap:Ethernet HWaddr b8:27:eb:74:1f:8c
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:5824 errors:0 dropped:0 overruns:0 frame:0
TX packets:2800 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1448587 (1.3 MiB) TX bytes:1057796 (1.0 MiB)
eth1 Link encap:Ethernet HWaddr 00:14:d1:da:c7:dc
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5353 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1145578 (1.0 MiB) TX bytes:414153 (404.4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:52 errors:0 dropped:0 overruns:0 frame:0
TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3744 (3.6 KiB) TX bytes:3744 (3.6 KiB)
mon.wlan0 Link encap:UNSPEC HWaddr 00-C1-40-95-0D-43-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7417 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2107086 (2.0 MiB) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 00:c1:40:95:0d:43
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:182 errors:0 dropped:0 overruns:0 frame:0
TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31498 (30.7 KiB) TX bytes:21682 (21.1 KiB)
명확성을 위해 반복합니다. 브리지와 두 이더넷 연결 모두 잘 작동하고 오류 없이 실행됩니다.
sudo service hostapd restart
sudo service dnsmasq restart
sudo service networking restart
처음에는 bridge-utils가 메시지와 함께 실패합니다.
can't add wlan0 to bridge br0: Operation not supported
하지만 이를 호스트탭 설정에 추가한 후 bridge=br0
bridge-utils가 불평을 멈췄기 때문에 wlan0이 브리지에 추가된 것 같지만 거기에서 무슨 일이 일어났는지 잘 모르겠습니다.
WiFi를 액세스 포인트 모드에서 작동시키고 eth0 및 eth1과 동일한 브리지에 속하게 하려면 어떻게 해야 합니까?
답변1
/etc/network/interfaces를 보면 wlan0이 브리지에 포함된 인터페이스 중 하나로 표시되지 않습니다. 이것을 추가하는 것이 시작될 것입니다.