마침내 Hostapd와 dnsmasq를 사용하여 WiFi 카드에 액세스 포인트를 설정했습니다. 저는 이런 순서로 했어요.
1) Hostapd 및 dnsmasq를 구성합니다.
nano /etc/hostapd/hostapd.conf
nano /etc/dnsmasq.conf
Hostapd.conf의 내용:
인터페이스=wlan1mon 드라이버=nl80211 ssid=o2wlan69 hw_mode=g 채널=6 macaddr_acl=0 ignore_broadcast_ssid=0
dnsmasq.conf의 내용:
인터페이스=wlan1mon dhcp-범위=192.168.1.2,192.168.1.30,255.255.255.0,12h dhcp-옵션=3,192.168.1.1 dhcp-옵션=6,192.168.1.1 서버=8.8.8.8 로그 쿼리 로그-DHCP 청취 주소=127.0.0.1
2) 다음은 정확히 무엇을 하는지 모르는 네 줄 중 두 줄입니다.
ifconfig wlan1mon up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
3) 서비스를 시작합니다.
dnsmasq -C /etc/dnsmasq.conf -d
hostapd /etc/hostapd/hostapd.conf
4) 다음은 정확히 무엇을 하는지 모르는 3행과 4행입니다.
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface wlan1mon -j ACCEPT
나는 iptables가 블록을 변경하거나 장치에서 들어오고 나가는 트래픽을 다시 라우팅하는 데 사용된다는 것을 알고 있으며 ifconfig를 사용하여 네트워킹 장치에 넷마스크와 IP 주소를 할당할 수 있다는 것을 알고 있습니다. 또한 넷마스크가 로컬 IP 범위에 어떤 영향을 미치는지 알고 있지만 이러한 명령이 내 액세스 포인트가 wlan1mon과 eth0 인터페이스 간의 인터넷 연결을 공유하는 데 어떻게 도움이 되는지 명확하지 않습니다. 또한 ifconfig 및 Route 명령을 실행해야 하는 이유는 무엇입니까?
답변1
ifconfig wlan1mon up 192.168.1.1 netmask 255.255.255.0
이 명령은 컴퓨터에 네트워크 장치 wlan1mon(WiFi 인터페이스)을 활성화하고 IP 주소 192.168.1.1(서브넷 192.168.1.0/24)을 할당하여 네트워킹 패키지를 보내고 받을 수 있도록 지시합니다.
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
이 명령은 컴퓨터에 192.168.1.1/24부터 192.168.1.1까지의 서브넷에 수신자가 있는 모든 패키지를 보내도록 지시합니다(경로는 전달하는 컴퓨터에서 실행되어야 하는지 확실하지 않습니다. 내가 아는 한 클라이언트를 연결하고 있으며 이미 DHCP 서버가 설정되어 있으므로 이 경로는 해당 클라이언트에 자동으로 추가되어야 합니다.)
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
이 명령은 컴퓨터가 들어오고 나가는 패키지의 IP를 올바르게 "가장"하도록 지시합니다(N에트워크ㅏ주소티번역) eth0의 POSTROUTING 체인에 있습니다. 기본적으로 모든 나가는 패키지에 컴퓨터의 IP 주소를 할당하고(외부 컴퓨터가 응답을 보낼 수 있도록) 네트워크 내부의 적절한 호스트에 대해 들어오는 패키지의 주소를 다시 지정합니다.
iptables --append FORWARD --in-interface wlan1mon -j ACCEPT
이 명령을 사용하면 wlan1mon에서 들어오는 패키지를 먼저 전달할 수 있습니다. 이는 수신자가 다른 사람인 경우에도 전달 컴퓨터가 해당 네트워크 패키지를 처리하고 전달할 수 있음을 의미합니다.