Wi-Fi가 연결되어 있지만 인터넷에 접속할 수 없습니다

Wi-Fi가 연결되어 있지만 인터넷에 접속할 수 없습니다

나는 이더넷, wlan STA/클라이언트 및 wlan 액세스 포인트를 갖춘 Linux 상자를 가지고 있습니다. 이것은 이더넷을 통한 인터넷 연결이며 SSH를 통해 상자에 로그인할 수 있습니다. 하지만 저는 이 상자를 무선 라우터처럼 사용하고 스마트폰 등을 통해 인터넷에 연결할 수 있기를 원합니다. 휴대폰을 Wi-Fi에 연결할 수는 있지만 인터넷에 접속할 수 없습니다.

내 인터페이스는 다음과 같습니다.

eth0이더넷
eth1이자 eth2WLAN입니다

# ifconfig
br0       Link encap:Ethernet  HWaddr 00:15:BC:22:17:20
          inet addr:10.10.1.116  Bcast:10.10.1.255  Mask:255.255.255.0
          inet6 addr: fe80::215:bcff:fe22:1720/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6377 errors:0 dropped:608 overruns:0 frame:0
          TX packets:615 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:865911 (845.6 KiB)  TX bytes:59751 (58.3 KiB)

eth0      Link encap:Ethernet  HWaddr 00:15:BC:22:17:20
          inet6 addr: fe80::215:bcff:fe22:1720/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6417 errors:0 dropped:6 overruns:0 frame:0
          TX packets:623 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:985364 (962.2 KiB)  TX bytes:60399 (58.9 KiB)

eth1      Link encap:Ethernet  HWaddr 00:15:BC:22:17:21
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 B)  TX bytes:0 (0.0 B)

eth2      Link encap:Ethernet  HWaddr 02:15:BC:22:17:21
          inet addr:192.168.2.10  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::15:bcff:fe22:1721/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:502 errors:0 dropped:3 overruns:0 frame:0
          TX packets:236 errors:0 dropped:8 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:44998 (43.9 KiB)  TX bytes:24874 (24.2 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:164 errors:0 dropped:0 overruns:0 frame:0
          TX packets:164 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13525 (13.2 KiB)  TX bytes:13525 (13.2 Ki

둘)

/etc/network/interfaces파일 은 다음과 같습니다 .

auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth1 inet dhcp

iface eth2 inet dhcp

iface br0 inet dhcp
hostname gw-143A
   bridged_ports  eth0

무선 전화:

# iwconfig
tap0      no wireless extensions.

lo        no wireless extensions.

br0       no wireless extensions.

eth2      IEEE 802.11-bgn  Mode:Master  Frequency:2.457 GHz

eth1      IEEE 802.11-bgn  ESSID:""
          Mode:Managed  Frequency:2.437 GHz  Access Point: Not-Associated
          Bit Rate:0 kb/s
          RTS thr:off   Fragment thr:off
          Encryption key:9F64-0D78-CCAB-A8 [3]
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

sit0      no wireless extensions.

eth0      no wireless extensions.

답변1

Linux 박스가 WLAN 액세스 포인트로 작동하려면 다음이 필요합니다.

  • 무선 카드가 사용 중인지 확인하세요.AP 드라이버 지원. 의 출력 lsmod | grep 80211. 드라이버가 AP 모드를 지원하지 않는 경우 AP 모드를 지원하는 새 WLAN 어댑터를 구입해야 합니다.
  • 커널이 지원하는지 확인하세요.IP 포워딩활성화합니다. 이는 일반적 echo 1 > /proc/sys/net/ipv4/ip_forward으로 루트로 실행하여 수행됩니다.
  • br0네트워크 패킷을 다음으로 전달하도록 라우팅 테이블을 구성합니다 eth2.

sudo iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE

sudo iptables -A FORWARD -i br0 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i eth2 -o br0 -j ACCEPT

관련 정보