7.10.3. DNAT를 사용하여 들어오는 HTTP 트래픽 전달
대상 네트워크 주소 변환(DNAT)을 사용하여 들어오는 트래픽을 하나의 대상 주소 및 포트에서 다른 대상 주소로 보낼 수 있습니다. 일반적으로 외부 네트워크 인터페이스에서 특정 내부 서버 또는 서비스로 들어오는 요청을 리디렉션하는 데 유용합니다.
사전 요구 사항
-
firewalld서비스가 실행 중입니다.
프로세스
들어오는 HTTP 트래픽을 전달합니다.
# firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toaddr=198.51.100.10:toport=8080 --permanent이전 명령은 다음 설정으로 DNAT 규칙을 정의합니다.
-
--zone=public- DNAT 규칙을 구성하는 방화벽 영역입니다. 필요한 모든 영역에 맞게 조정할 수 있습니다. -
--add-forward-port- 포트 전달 규칙을 추가 중임을 나타내는 옵션입니다. -
port=80- 외부 대상 포트입니다. -
proto=tcp- TCP 트래픽을 전달함을 나타내는 프로토콜입니다. -
toaddr=198.51.100.10- 대상 IP 주소입니다. -
toport=8080- 내부 서버의 대상 포트입니다. -
--permanent- 재부팅 시 DNAT 규칙을 유지할 수 있는 옵션입니다.
-
방화벽 구성을 다시 로드하여 변경 사항을 적용합니다.
# firewall-cmd --reload
검증
사용한 방화벽 영역에 대한 DNAT 규칙을 확인합니다.
# firewall-cmd --list-forward-ports --zone=public port=80:proto=tcp:toport=8080:toaddr=198.51.100.10또는 해당 XML 구성 파일을 확인합니다.
# cat /etc/firewalld/zones/public.xml <?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"/> <service name="dhcpv6-client"/> <service name="cockpit"/> <forward-port port="80" protocol="tcp" to-port="8080" to-addr="198.51.100.10"/> <forward/> </zone>