RedHat 8 서버가 있습니다. 방화벽이 활성화되어 있습니다. 내 노트북과 두 번째 서버에서 포트 5050에 연결해야 하므로 규칙에 추가했습니다.
iptables -I INPUT -p tcp -m tcp --dport 5050 -j ACCEPT
service iptables save
두 번째 서버에서 연결을 시도하는 경우:
telnet 10.244.176.1 5050
Trying 10.244.176.1...
telnet: connect to address 10.244.176.1: No route to host
내 노트북에서 시도할 때 telnet
:
Connecting To 10.244.176.1...Could not open connection to the host, on port 5050: Connect failed
두 소스 모두에서 IP를 핑할 수 있습니다. 또한 Traceroute 출력은 다음과 같습니다(두 번째 서버 수준에서).
traceroute 10.244.176.1
traceroute to 10.244.176.1 (10.244.176.1), 30 hops max, 60 byte packets
1 10.244.176.1 (10.244.176.1) 0.287 ms !X 0.293 ms !X 0.286 ms !X
어떡해?
답변1
방화벽을 사용하는 경우 iptables 대신 방화벽에 규칙을 추가해 보는 것은 어떨까요?
다음과 같이 방화벽 구성에서 다양한 영역을 나열할 수 있습니다.
firewall-cmd --get-zones
모든 지역의 규칙 세트를 보려면 다음을 수행하세요.
firewall-cmd --list-all-zones
특정 지역에 대한 규칙 세트를 보려면 다음을 수행하세요.
firewall-cmd --zone=$ZONE --list-all
여기서 $ZONE은 영역 중 하나의 이름입니다.
이렇게 하면 런타임 포트가 허용됩니다.
firewall-cmd --zone=$ZONE --add-port=5050/tcp
규칙을 영구적으로 만들려면 다음을 수행하세요.
firewall-cmd --permanent --zone=$ZONE --add-port=5050/tcp
따라서 공개 영역을 먼저 테스트하는 규칙을 추가하려면 다음을 수행하십시오.
firewall-cmd --zone=public --add-port=5050/tcp
그런 다음 이것이 효과가 있고 영구적으로 만들고 싶다면 다음을 수행하십시오.
firewall-cmd --permanent --zone=public --add-port=5050/tcp
또는 GUI를 사용하여 이 작업을 수행하려면 다음을 시작할 수 있습니다.
firewall-config
GUI를 통해 동일한 작업을 수행합니다.