포트 포워드를하지 않고 iptables의 NAT 테이블에 설정을 시도했습니다.

3579 단어 redhatiptables
  • 환경
  • Amazon Linux AMI release 2017.09
  • iptables v1.4.18


  • 프라이빗 IP 주소와 퍼블릭 IP 주소를 조합으로 변환해 주는 NAT 테이블에 설정을 넣는다.
    그러면 매번 포트 포워드하지 않아야 한다.


    iptables 작성 방법



    참고 : iptables 요약 - Qiita

    DNAT



    인터넷에서 LAN에 액세스 할 때 대상의 공용 IP 주소를 개인 IP 주소로 변환하는 것이 대상 NAT

    iptables
    -A PREROUTING -p tcp -m tcp --dport {経由地のポート} -j DNAT --to-destination {目的地のプライベートIP}:{目的地のポート}
    

    DNAT의 기술 방법



    LAN 내에서 인터넷으로 나갈 때 송신원의 개인 IP 주소를 공개 IP 주소로 변환하는 것이 소스 NAT

    iptables
    -A POSTROUTING -d {目的地のプライベートIP}/32 -p tcp -m tcp --dport {目的地のポート} -j SNAT --to-source {経由地のプライベートIP}
    

    iptables의 NAT 테이블로 설정




    서버
    공공 IP
    사설 IP
    사용할 포트 번호


    경유지
    12.34.56.78
    10.0.0.10
    28090

    목적지
    없음
    10.0.0.20
    8090


    이러한 상태의 경우, 다음과 같은 설정을 하면 목적지 서버에 「12.34.56.78:28090」으로 액세스 할 수 있다.
    # 1. 設定しようと思っているポート番号が使われていないか確認する
    $ sudo cat /etc/sysconfig/iptables | grep 28090
    
    # 2. iptablesのNATテーブルに設定する
    $ sudo vi /etc/sysconfig/iptables
    $ sudo cat /etc/sysconfig/iptables
    #...省略..
    *nat
    -A PREROUTING -p tcp -m tcp --dport 28090 -j DNAT --to-destination 10.0.0.20:8090
    -A POSTROUTING -d 10.0.0.20/32 -p tcp -m tcp --dport 8090 -j SNAT --to-source 10.0.0.10
    COMMIT
    #...省略..
    
    # 3. iptablesを再起動する
    $ sudo service iptables restart
    iptables: Flushing firewall rules:                         [  OK  ]
    iptables: Setting chains to policy ACCEPT: filter nat      [  OK  ]
    iptables: Unloading modules:                               [  OK  ]
    iptables: Applying firewall rules:                         [  OK  ]
    

    좋은 웹페이지 즐겨찾기