6.6.2. 특정 로컬 포트의 수신 패킷을 다른 호스트로 전달
대상 네트워크 주소 변환(DNAT) 규칙을 사용하여 로컬 포트의 들어오는 패킷을 원격 호스트로 전달할 수 있습니다. 이를 통해 인터넷 사용자는 개인 IP 주소가 있는 호스트에서 실행되는 서비스에 액세스할 수 있습니다.
이 절차에서는
192.0.2.1
IP 주소를 사용하여 로컬 포트 443
의 수신 IPv4 패킷을 원격 시스템의 동일한 포트 번호로 전달하는 방법을 설명합니다.
사전 요구 사항
- 시스템에서 패킷을 전달해야 하는
root
사용자로 로그인했습니다.
절차 6.18. 특정 로컬 포트의 수신 패킷을 다른 호스트로 전달
- IP 주소 제품군을 사용하여
nat
라는 테이블을 만듭니다.# nft add table ip nat
- 표에
prerouting
및postrouting
체인을 추가합니다.# nft -- add chain ip nat prerouting { type nat hook prerouting priority -100 \; } # nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }
참고쉘이 음수 우선 순위 값을 nft 명령의 옵션으로 해석하지 않도록--
옵션을 nft 명령에 전달합니다. - 포트
443
의 들어오는 패킷을192.0.2.1
의 동일한 포트로 리디렉션하는사전
제한 체인에 규칙을 추가합니다.# nft add rule ip nat prerouting tcp dport 443 dnat to 192.0.2.1
- 발신 트래픽을 마스커레이팅하는 규칙을
postrouting
체인에 추가합니다.# nft add rule ip daddr 192.0.2.1 masquerade
- 패킷 전달을 활성화합니다.
# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf