저는 현재 dnsmasq를 사용하여 DHCP 및 DNS 캐싱 서버 역할을 하는 작은 Debian 상자를 만들고 있습니다. 현재로서는 2개의 인터페이스(eth0, eth1)만 있습니다. 하나는 내 WAN(eth0)에 연결되고 다른 하나는 내 LAN(eth1)에 연결되어 IP를 할당합니다.
NIC 간에 트래픽을 전달하기 위해 다음과 같이 iptables를 설정했습니다.
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
그런 다음 iptables-persist를 사용하여 규칙을 수정했습니다.
새 NIC(eth2)를 설치하고 dnsmasq를 구성했으므로 이제 2개의 서브넷이 있습니다. 나는 다음을 추가했다:
iptables --append FORWARD --in-interface eth2 -j ACCEPT
효과가있다. iptables-percious를
정리 /etc/iptables/rules.v4
하고 다시 설치했는데 /etc/iptables/rules.v4를 편집했을 때 구성 파일에 eth2의 흔적이 없었습니다.
문제는 작동한다는 것인데, 내가 뭘 잘못하고 있는 걸까요?
답변1
/etc/iptables/rules.v4
명령을 실행할 때 업데이트되지 않으므로 iptables
직접 업데이트해야 합니다. 예를 들면 다음과 같습니다.
iptables-save > /etc/iptables/rules.v4