일부 소프트웨어를 설치하려고 하는 서버가 두 대 있습니다. 하나는 server1(IP 10.1.2.205)이고 다른 하나는 server2(IP 10.1.2.206)입니다. 둘 다 이름과 IP 주소로 서로 핑할 수 있습니다(예: server2 ping server1
또는 에서 서로 핑할 수 있습니다 ping 10.1.2.205
).
netstat -lnt
server1에 입력하면 다음과 같은 결과가 나타납니다.
Proto Recv-Q Send-Q Local Address ForeignAddress State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:52666 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6817 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6818 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5672 0.0.0.0:* LISTEN
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 :::36483 :::* LISTEN
tcp 0 0 :::5989 :::* LISTEN
이제 server2에서 netcat 명령을 사용하려고 하면 다음과 같은 결과가 나타납니다.
nc -v 10.1.2.205 22
Connection to server1 22 port [tcp/ssh] succeeded! SSH-2.0-OpenSSH_5.3
nc -v server1 22
Connection to server1 22 port [tcp/ssh] succeeded! SSH-2.0-OpenSSH_5.3
그러나 문제는 다음과 같은 출력입니다.
nc -v server1 5989
nc: connect to server1 port 5989(tcp) failed: No route to host
다른 모든 포트에서 동일한 응답을 얻습니다.
server1에서는 다른 포트가 응답하지 않습니다. 내가 관심 있는 포트는 포트 6817과 6818입니다. 두 컴퓨터 사이의 포트에서 수신 대기하고 응답해야 하는 애플리케이션이 있습니다.
산출:iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
무엇이 잘못될 수 있나요?
답변1
Centos를 사용하고 계신 것 같습니다. iptables 규칙에서 볼 수 있듯이 포트 22를 제외한 모든 TCP 연결이 차단됩니다.
다음을 통해 iptables 규칙을 새로 고쳐 보십시오.
$ sudo iptables -F
그러면 모든 iptables 규칙이 제거됩니다. 이것이 효과가 있는지 알려주세요.
답변2
위에서 설명한 대로 방화벽 규칙을 해결한 후에도 다른 컴퓨터에서 631의 cup admin에 연결하는 데 여전히 약간의 어려움이 있을 수 있습니다.
netstat 출력에서 포트 번호 앞의 IP 주소 형식에 주의를 기울이면 포트 631에서 실행되는 서비스가 다른 서비스와 다른 IP 범위에서 수신 대기하는 것처럼 보일 수 있습니다. IP 주소 0.0.0.0:631 :::631이 아닌 127.0.0.1:631 및 ::1:631 IP 주소만 수신하는 것 같습니다.
이는 기본 이더넷 인터페이스가 아닌 루프백 인터페이스 lo0을 수신하고 있음을 나타냅니다.
출력을 비교하여 이를 확인할 수 있습니다.
netstat -L lo0
netstat -L eth0 (or the name of your default network interface)
이는 CUPS 관리 도구의 기본 구성 및 동작입니다.
localhost의 웹 페이지에 대한 관리 액세스만 허용합니다. 원격 관리 액세스를 허용하도록 컵 서버를 구성하는 방법에 대한 자세한 내용은 /etc/cupsd.conf(man 5 cupd.conf)를 참조하세요.
"Listen localhost:631"을 "Listen *:631"로 변경하고 "Allow 10.1.2.206" 줄을 추가하거나 구성 파일의 "Allow @LOCAL"(로컬 인터페이스) 줄 아래에 IP와 넷마스크를 지정해야 할 수도 있습니다. /admin 섹션 및 cupd 다시 시작("/etc/init.d/cups restart")