서버 재부팅 후 iptables 및 NAT/포트 전달이 작동하지 않음

서버 재부팅 후 iptables 및 NAT/포트 전달이 작동하지 않음

저는 NAT 및 iptables를 처음 사용하고 KVM이 설치된 CentOS 6을 실행하는 물리적 서버를 가지고 있으며 2개의 추가 Linux 상자가 VM(VM2 및 VM3)으로 시작되고 해당 IP는 그에 따라 192.168.122.2 및 192.168.122.3입니다. 실제 IP가 하나뿐이므로 NAT는 외부 요청을 VM 애플리케이션에 전달하는 데 사용됩니다(예: 포트 30022를 VM3의 SSH(포트 22)). 설정 후 모든 것이 잘 작동하고 이미 한 달 동안 실행되었지만 RAM 업그레이드와 서버 재부팅을 완료한 후에 NAT/포트 전달이 다시 작동하지 않습니다.

추가 정보:

  • 호스트 OS에서는 실행되지만 게스트 OS에서는 실행되지 않는 IPtables입니다.
  • 호스트 OS iptables는 NAT를 다음과 같이 구성했습니다.
타겟 보호 옵션 소스 대상
DNAT tcp -- 어디서나 tcp dpt:30022 ~:192.168.122.3:22
DNAT tcp -- 어디서나 tcp dpt:20022 ~:192.168.122.2:22(22)
  • iptables -t nat -L -v -n 명령의 결과:
pkts 바이트 대상 prot 옵트아웃 소스 대상
6 304 LOG tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:30022 LOG 플래그 0 레벨 4 접두사 ROUTE APP3
6 304 DNAT tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:30022 ~:192.168.122.3:22
3 152 DNAT tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20022 ~:192.168.122.2:22
  • 이는 내 로컬 PC(별도의 네트워크)에서 텔넷 30022를 시도하는 동안 패키지가 NAT 규칙에 의해 처리된다는 의미입니다.

며칠 동안 어려움을 겪었습니다. 도움이 되었나요?

답변1

를 사용하여 호스트에서 IP 전달이 활성화되어 있는지 확인해야 합니다 cat /proc/sys/net/ipv4/ip_forward. 이 명령은 인쇄되어야 합니다 1. 활성화되어 있지 않으면 를 사용하여 활성화해야 합니다 echo 1 > /proc/sys/net/ipv4/ip_forward.

관련 정보