iptables를 사용하는 IP 트래픽을 Linux CentOS의 새 IP로 리디렉션할 수 없습니다.

iptables를 사용하는 IP 트래픽을 Linux CentOS의 새 IP로 리디렉션할 수 없습니다.

오늘은 일부 게임 서버를 다른 서버로 마이그레이션할 수 있었고 트래픽을 이전 IP에서 새 IP로 리디렉션하는 데 도움이 필요했습니다.

서버1 1.1.1.1 ----- (인터넷) -----> 서버 2.2.2.2

나는 이것을 수행하기 위해 iptables를 사용한다고 가정합니다. 왜냐하면 그것은 server1의 내 centOS 상자에서 이 규칙을 사용했기 때문입니다.

/etc/sysctl.conf: net.ipv4.ip_forward = 1

iptables -t nat -A PREROUTING -p udp --dest 1.1.1.1 --dport 27015 -j DNAT --to-destination 2.2.2.2:27015
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A POSTROUTING -d 2.2.2.2 -p udp --dport 27015 -j SNAT --to 1.1.1.1

그러나 클라이언트는 이전 IP에서 서버에 연결할 수 없으며 리디렉션이 시작되지 않습니다.

답변1

다음과 같이 뭔가를 할 수 있습니다:

iptables -t nat -A OUTPUT -p all -d 1.1.1.1 -j DNAT --to-destination 2.2.2.2 
iptables -t nat -A POSTROUTING -p all -j MASQUERADE

답변2

이전에 이 서버에 NAT가 구성되어 있지 않은 경우 커널이 IPv4 트래픽을 전달하도록 설정되지 않았을 수 있습니다.

다음 항목에 이 항목이 있는지 확인하세요 /etc/sysctl.conf.

net.ipv4.ip_forward = 1

관련 정보