그래서 최소 2개월 동안 헤드 노드를 통해 기술적으로 오프라인인 컴퓨팅 노드에 인터넷 액세스를 제공하는 컴퓨팅 클러스터에서 IP 테이블 구성을 실행했습니다. 최근에 헤드 노드를 다시 시작해야 했고 헤드 노드가 작동하는 데 필요한 모든 설정이 지워졌다고 거의 확신합니다. /sysconfig/iptables의 백업을 얻을 수 있었는데 왜 이 파일을 사용하는 iptables-restore가 작동하지 않는지 궁금합니다... 해당 백업의 내용은 다음과 같습니다...
# Generated by iptables-save v1.4.21 on Wed May 9 09:36:22 2018
*filter
:INPUT ACCEPT [1:36]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1294:196435]
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 372 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p udp -m udp --sport 1024:65535 --dport 372 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i lo -j ACCEPT
-A INPUT -i enp7s0f1 -j ACCEPT
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -i enp7s0f0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 10.103.182.0/24 -i enp7s0f0 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A INPUT -s 10.103.182.0/24 -i enp7s0f0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 8649 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 40000 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i enp7s0f0 -p udp -m udp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i enp7s0f0 -o enp7s0f1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i enp7s0f1 -j ACCEPT
COMMIT
# Completed on Wed May 9 09:36:22 2018
# Generated by iptables-save v1.4.21 on Wed May 9 09:36:22 2018
*nat
:PREROUTING ACCEPT [19:1852]
:INPUT ACCEPT [11:1496]
:OUTPUT ACCEPT [18:1302]
:POSTROUTING ACCEPT [16:1110]
-A POSTROUTING -o enp7s0f0 -j MASQUERADE
COMMIT
# Completed on Wed May 9 09:36:22 2018
어떤 종류의 도움이라도 대단히 감사하겠습니다.
참고: enp7s0f0은 외부 공용 인터페이스이고 enp7s0f1은 내부 전용 인터페이스입니다.
답변1
구성 iptables
이 정상적으로 보이지만 IPv4 전달을 위한 마스터 스위치를 확인하셨나요?
다음 명령을 시도해 보세요.
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
반대 메시지가 나타나면 net.ipv4_ip_forward = 0
IPv4 전달이 활성화되지 않은 것입니다. 이 문제는 해결하기 쉽습니다.
# echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
# sysctl -p
이를 통해 지속적인 방식으로 IPv4 전달이 가능해집니다. (이전에는 IPv4 전달이 유사하게 활성화되었을 수 있지만 echo 1 > /proc/sys/net/ipv4/ip_forward
재부팅 후에도 지속되지는 않습니다.)