firewalld 에 포트 포워딩

환경



기계 환경


  • 호스트 OS
  • Windows10 2004

  • 게스트 OS
  • CentOS8 (VMware Player)


  • 토폴로지





    하고 싶은 일



    호스트 OS 측의 브라우저에서 : 8080으로 액세스하고 서버는 : 80으로 포트 포워딩.



    위의 그림은 굉장히 알기 어렵지만, 요점은 호스트 OS측으로부터의 :8080의 통신을 :80으로 전환해 httpd에 보내는 것이라고 하는 것입니다.

    이번에는 동일한 서버로의 포워딩이지만 다른 서버에도 가능합니다.

    동일한 서버 내에서 포트 포워딩



    명령


    # firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp|sctp|dccp:toport=port-number
    

    이것을 이번 패턴에 넣으면

    명령 예


    # firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80
    
  • --add-forward-port 다음에 포트 정보를 깜박임
  • port = 8080은 클라이언트에서 : 8080이 올 것입니다
  • proto = tcp는 프로토콜에 tcp를 사용합니다
  • toport = 80은 : 80입니다.


  • 설정을 유지하는 명령


    # firewall-cmd --runtime-to-permanent
    
  • 위의 add-forward-...라는 명령에 --permanent를 붙임으로써 영속화를 할 수 있지만, 이번에는 다른 명령에서 영속화하고 있습니다.

    설정을 확인하는 명령


    # firewall-cmd --list-all
    
  • 이 명령의 출력은 각 환경에 따라 다를 수 있습니다.
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens33
      sources:
      services: cockpit dhcpv6-client http https ssh
      ports:
      protocols:
      masquerade: no
      forward-ports: port=8080:proto=tcp:toport=80:toaddr=
      source-ports:
      icmp-blocks:
      rich rules:
    
  • forward-ports : 어디에 쓰고 있기 때문에 할 수있었습니다.

  • 다른 IP로 포트 포워딩



    명령


    # firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp:toport=port-number:toaddr=IP/mask
    
  • 이번에는 다른 IP로 포워딩하지 않지만 보시다시피 toaddr 이후가 추가되었습니다.
  • 좋은 웹페이지 즐겨찾기