Rasberry Pi를 라우터로 구성하고 싶습니다. 두 개의 네트워크 인터페이스 eth0과 eth1이 두 개의 네트워크에 연결되어 있습니다.eth0은 개인에 연결됩니다네트워크와eth1은 공개적으로 연결됩니다네트워크(인터넷).
wan ----[router]--> [eth1 (Raspbery pi) eth0]<---->[router]<----> [(PC1)]
Raspberry Pi를 라우터로 구성하기 위해 다음을 수행했습니다.
Step 1:- enable forwarding in the kernel
echo 1 >> /proc/sys/net/ipv4/ip_forward
step 2:- Set rules in iptables to perform natting and forwarding
# eth0 is LAN
# eth1 is WAN
# Masquerade.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# fowarding
iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
이제 Raspberry Pi를 통해 WAN 측에서 라우터에 ping을 보낼 수 있고 PC1에서도 Google IP(8.8.8.8)에 ping을 보낼 수 있습니다. 하지만 PC1에서는 어떤 웹사이트도 탐색할 수 없습니다. Ping은 제대로 작동하지만 인터넷에 액세스하는 다른 방법은 작동하지 않습니다. 이 문제를 해결하려면 이 iptables를 어떻게 디버그해야 합니까? 문제가 어디에 있을 수 있습니까?
편집:- iptables 값은 다음과 같습니다.
root@raspberrypi:/home/duser# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@raspberrypi:/home/duser# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
root@raspberrypi:/home/duser# iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
답변1
PC에 DNS 서버를 올바르게 설정하셨나요? 8.8.8.8 대신 www.google.com을 ping할 수 있나요? 귀하의 PC가 도메인 이름을 IP로 변환할 수 없는 것 같습니다.