2014-10-18 2 views
0

내 Linux 기반 라우터의 인터페이스 (eth2)를 특정 IP 및 포트로 제한하고 싶습니다. eth1은 주로 제한되지 않습니다.iptables로 특정 IP 및 포트로 인터페이스를 제한하는 방법은 무엇입니까?

  • 라우터는 DHCP를 사용하므로 허용하고 싶습니다.
  • 라우터가 NATing을 수행합니다.
  • 라우터는 NTP가 아니므로이 IP를 허용하고 싶습니다.
  • 라우터는 DNS가 아니므로이 IP를 허용하고 싶습니다. 인터페이스 eth1를 뒤에
  • 장치는 인터페이스 eth2를 뒤에 장치 만 이

    내 설정이 현재처럼 보이는

특정 인터넷 IP를 얘기를 허용해야 인터넷
  • 이야기에 대한 제한이 없어야합니다 이 : 모든 작품이 규칙으로

    iptables -F 
    iptables -X 
    iptables -t nat -F 
    # eth1 is 192.168.1.0/24, eth2 is 192.168.2.0/24, so I forward 192.168.0.0/16 
    iptables -A FORWARD -o ppp0 -s 192.168.0.0/16 -m conntrack --ctstate NEW -j ACCEPT 
    iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 
    sysctl -w net.ipv4.ip_forward=1 
    

    좋은, 그러나, DHCP는

    # restrict eth2 
    iptables -i eth2 -A INPUT -j DROP 
    iptables -i eth2 -A FORWARD -j DROP 
    iptables -i eth2 -A INPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT 
    iptables -i eth2 -A INPUT -p udp --dport 53 -j ACCEPT 
    iptables -i eth2 -A INPUT -p tcp --dport 53 -j ACCEPT 
    iptables -i eth2 -A INPUT -p tcp --dport 123 -j ACCEPT 
    iptables -i eth2 -A FORWARD -p udp --dport 53 -j ACCEPT 
    iptables -i eth2 -A FORWARD -p tcp --dport 53 -j ACCEPT 
    iptables -i eth2 -A FORWARD -p tcp --dport 123 -j ACCEPT 
    iptables -A FORWARD -i eth2 --dst 1.2.3.4 -j ACCEPT 
    iptables -A FORWARD -i eth2 --src 1.2.3.4 -j ACCEPT 
    iptables -A FORWARD -i eth2 --dst 2.3.4.5 -j ACCEPT 
    iptables -A FORWARD -i eth2 --src 2.3.4.5 -j ACCEPT 
    
    ,691,363 실패210

    어디 까지나 오류가 있습니까?

  • 답변

    1

    "-j DROP"문은 구성의 초기 단계로 진행되는 경우 "-j ACCEPT"문을 처리 할 기회가 없습니다. 그들을 끝까지 움직이십시오.

    관련 문제