따라서 저는 Raspberry OS Buster Lite를 사용하여 다음 레시피를 따랐습니다.
https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md
내 노트북을 Pi에 연결할 수 있고(hostapd가 작동함) 문제 없이 IP를 얻을 수 있고(dhcp가 작동함) SSH로 연결할 수도 있지만 라우팅 부분이 작동하지 않습니다(인터넷을 핑할 수 없음).
다음 한 줄은 작동하지 않는 것 같습니다.
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
다음 명령은 iptables-legacy의 존재에 대해 불평합니다.
sudo netfilter-persistent save
나는 nftables를 사용하는 iptables에 대한 최근 변경 사항이 이 방법이 작동하지 않는 원인이라고 생각합니다. 그러나 일부 다른 소스에서는 다음 라우팅 명령을 사용하도록 제안하므로 실제로는 모르겠습니다.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
이 레시피가 /etc/sysctl.d/routed-ap.conf를 편집하고 다른 소스가 /etc/sysctl.conf를 편집한다는 사실을 추가하면 상황이 더욱 혼란스러워집니다.
레시피에 제공된 방법 외에도 경로를 지속성으로 만드는 다른 방법이 있습니다.
- bash 스크립트를 systemd 서비스로 만들고 systemctl을 사용하십시오.
- iptables-restore를 사용하여 /etc/rc.local에서 bash 스크립트를 실행하세요.
일부 네트워킹/라우팅 전문가가 이 혼란스러운 문제에 대해 설명하고 이 초보자 시스템 관리자를 위한 모범 사례가 무엇인지 설명할 수 있습니까? 감사해요!
답변1
비록 답은 없지만 그 질문에 동의합니다.
LOG 규칙을 추가하면 iptables
DNS를 쿼리할 때 액세스 포인트 네트워크의 트래픽이 표시되지 않습니다(OP는 인터넷에 액세스할 수 없음을 의미할 수 있음). eth0 네트워크의 로컬 서버는 해당 IP 주소를 사용하여 접근할 수 있습니다.
상황을 복잡하게 만들기 위해 pihole(위 기사의 10.10.0.103)을 실행하고 있습니다. pihole은 이미 dnsmasq를 실행하고 있었기 때문에 두 번째 인스턴스를 시작했습니다.
dnsmasq --port=0 --conf-file=/etc/dnsmasq.wlan0.conf
내용이 있습니다
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.3,255.255.255.0,24h
dhcp-option=6,10.10.0.103
domain=wlan
address=/gw.wlan/192.168.4.1
DNS가 조용히 무시되는 이유에 대한 제안을 주시면 감사하겠습니다! 여기에 코드를 입력하세요