2017-11-09 6 views
0

LAN과 WAN이라는 두 개의 인터페이스가있는 서버가 있습니다. iptables를 통해 MAC 주소를 통해서만 로컬 주소에서 NAT에 액세스 할 수있게하려면 어떻게해야합니까? 왜 "-P"를 사용하는iptables : mac 주소를 통한 nat 액세스

 
iptables -P FORWARD -i eth0 -o eth1 -m mac --mac-source 48:43:7c:25:60:3a -j ACCEPT 
iptables -P FORWARD -i eth0 -o eth1 -s 192.168.0.0/16 -j DROP 

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 

답변

0

:

나는 그렇게하려고하지만 그것은 작동하지 않았다?

iptables -P FORWARD ACCEPT 

당신이 -A가 (추가)해야 정의 규칙 또는 -I (삽입)의 경우 : "-P"는 체인의 일반적인 정책을 설정하는 것입니다 suppossed된다. 당신이 원하는 무엇

수 같은 것을 : 당신이 전달이 활성화되어 있어야합니다 물론

iptables -P FORWARD ACCEPT 
iptables -A FORWARD -i eth0 -o eth1 -m mac --mac-source 48:43:7c:25:60:3a -j ACCEPT 
iptables -A FORWARD -i eth0 -o eth1 -j DROP 
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 

: echo "1" > /proc/sys/net/ipv4/ip_forward

+0

우리는 LAN에서 2500 개 이상의 호스트를 가지고있다. 우리는 규칙에 각 장치의 MAC 주소를 등록하고 싶습니다 – Ardesh

+0

내 대답을 편집했습니다. 그러나 규칙의 순서는 중요합니다. 따라서 스크립트는 DROP 정책 이전에 Mac을 추가해야합니다. 새로운 것을 추가 할 필요가 있다면,'iptables -I'를 사용하여 새로운 것을 삽입하여 -A (append) 대신에 그것을 삽입해야한다. – OscarAkaElvis

관련 문제