저는 RHEL 버전 6.4 서버에 대한 방화벽 설정 작업을 하고 있으며 목표는 서비스 유형에 관계없이 원격 장치가 TCP 포트 6162에 연결할 수 있도록 허용하는 것입니다.
iptables 규칙은 다음과 같습니다( iptables -L --line-numbers
). iptables 서비스가 다시 시작되었습니다.
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
2 ACCEPT icmp -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere
4 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
5 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:6160
6 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:patrol-coll
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
sytem-config-firewall
또한 아래 이미지와 같이 원하는 포트를 설정했습니다 .
이상한 점은 다음과 같습니다.
방화벽/iptables를 어떻게 설정하더라도 포트 6162는 열리지 않습니다. RHEL 6.4 서버의 동일한 IP 서브넷에 위치한 Windows/Linux 원격 호스트의 텔넷 클라이언트를 사용하여 테스트되었습니다. 포트 6162에 대한 연결은 거부되지만 다른 포트(예: 포트 6160)는 작동합니다.
TCP 포트 6162는 항상 "patrol-coll"인 것처럼 보이지만 엄밀히 말하면 "patrol-coll"뿐만 아니라 모든 종류의 서비스가 포트 6162에 연결되도록 허용하고 싶습니다. 서비스 유형이 연결에 영향을 미치는지 모르겠습니다...
누구든지 OS 측의 연결 문제를 해결하기 위한 몇 가지 팁을 제공할 수 있습니까?
참고 1: 의 출력은 netstat -tulpn
아래와 같습니다.
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2538/rpcbind
tcp 0 0 192.9.110.1:1521 0.0.0.0:* LISTEN 4806/tnslsnr
tcp 0 0 0.0.0.0:37426 0.0.0.0:* LISTEN 4493/ora_d000_SOGOE
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2917/sshd
tcp 0 0 0.0.0.0:46775 0.0.0.0:* LISTEN 4686/ora_d000_SOGOL
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2737/cupsd
tcp 0 0 127.0.0.1:10808 0.0.0.0:* LISTEN 3126/veeamservice
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3007/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 4046/sshd
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 2869/snmpd
tcp 0 0 0.0.0.0:37449 0.0.0.0:* LISTEN 2657/rpc.statd
tcp 0 0 :::111 :::* LISTEN 2538/rpcbind
tcp 0 0 :::6160 :::* LISTEN 2886/veeamdeploymen
tcp 0 0 :::40976 :::* LISTEN 2657/rpc.statd
tcp 0 0 :::22 :::* LISTEN 2917/sshd
tcp 0 0 ::1:631 :::* LISTEN 2737/cupsd
tcp 0 0 ::1:25 :::* LISTEN 3007/master
tcp 0 0 ::1:6010 :::* LISTEN 4046/sshd
udp 0 0 0.0.0.0:111 0.0.0.0:* 2538/rpcbind
udp 0 0 127.0.0.1:2547 0.0.0.0:* 4495/ora_s000_SOGOE
udp 0 0 0.0.0.0:631 0.0.0.0:* 2737/cupsd
udp 0 0 0.0.0.0:1017 0.0.0.0:* 2538/rpcbind
udp 0 0 127.0.0.1:13179 0.0.0.0:* 4660/ora_pmon_SOGOL
udp 0 0 10.50.89.26:123 0.0.0.0:* 2925/ntpd
udp 0 0 192.9.110.1:123 0.0.0.0:* 2925/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 2925/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 2925/ntpd
udp 0 0 0.0.0.0:28426 0.0.0.0:* 4672/ora_lgwr_SOGOL
udp 0 0 0.0.0.0:18843 0.0.0.0:* 2657/rpc.statd
udp 0 0 0.0.0.0:161 0.0.0.0:* 2869/snmpd
udp 0 0 127.0.0.1:22464 0.0.0.0:* 4688/ora_s000_SOGOL
udp 0 0 0.0.0.0:9798 0.0.0.0:* 4479/ora_lgwr_SOGOE
udp 0 0 0.0.0.0:713 0.0.0.0:* 2657/rpc.statd
udp 0 0 127.0.0.1:48982 0.0.0.0:* 4467/ora_pmon_SOGOE
udp 0 0 127.0.0.1:26208 0.0.0.0:* 4686/ora_d000_SOGOL
udp 0 0 127.0.0.1:54112 0.0.0.0:* 4493/ora_d000_SOGOE
udp 0 0 :::111 :::* 2538/rpcbind
udp 0 0 :::1017 :::* 2538/rpcbind
udp 0 0 fe80::20c:29ff:fe74:83b5:123 :::* 2925/ntpd
udp 0 0 fe80::20c:29ff:fe74:83bf:123 :::* 2925/ntpd
udp 0 0 ::1:123 :::* 2925/ntpd
udp 0 0 :::123 :::* 2925/ntpd
udp 0 0 :::46340 :::* 2657/rpc.statd```
답변1
포트 6160은 Veeam 설치 프로그램 서비스를 실행하는 것처럼 작동합니다(프로세스 이름은 출력과 유사합니다 veeamdeploymen*
) netstat -tulpn
.
아직 포트 6162에서 실행 중인 서비스가 없기 때문에 포트를 연 것처럼 보이지만 포트가 열리지 않습니다.매끄러운방화벽 설정에 있습니다.
"방화벽에서 포트를 엽니다"라고 말할 수도 있지만 이는 약간 잘못된 표현입니다. 방화벽은 실제로는 그렇지 않습니다.열려 있는포트 대신 가능합니다.막힌애플리케이션이 포트를 열어도 해당 포트에 접근할 수 없습니다. 네트워크 서비스를 실행하지 않는 경우 모든 네트워크 포트는 운영 체제에 의해서만 닫히며 방화벽은 이를 변경할 수 없습니다.
합법적인 네트워크 포트 액세스를 두 번 효과적으로 구성하도록 요구함으로써(한 번은 서비스 자체를 활성화하고 그 다음에는터놓다(방화벽 설정에서) 방화벽은 실수로 의도하지 않은 액세스를 허용하는 위험을 최소화할 수 있습니다.
방화벽은 어떤 원격 애플리케이션이나 서비스가 연결을 시도하는지 확실하게 확인할 수 없습니다. 이를 허용하는 프로토콜이 있더라도 원격 시스템은 항상 거짓말을 할 것입니다. 이 Service
필드는 일반적으로 /etc/services
.
일부 방화벽 관리 솔루션에서는 보다 쉬운 구성을 위해 포트 번호 그룹을 "서비스"로 미리 정의할 수도 있습니다.
테스트를 위해 일시적으로 포트를 열려면 nc
"netcat" 유틸리티(패키지 이름)를 사용하여 다음을 수행할 수 있습니다.
들어오는 TCP 연결을 위해 포트 6162를 열려면:
nc -kl 6162
또는 UDP 패킷용 포트를 열려는 경우:
nc -kul 6162
명령이 중지되면( Ctrl+ C또는 kill
명령 사용) 들어오는 데이터를 처리하는 프로세스가 더 이상 없으므로 포트가 자동으로 다시 닫힙니다. 네트워크 연결을 통해 포트로 전송된 모든 데이터는 표준 출력으로 전송됩니다. 이를 원하지 않으면 명령줄 >/dev/null
에 추가할 수 있습니다.nc
참고: 포트 TCP/6162는 Veeam Data Mover의 기본 포트이지만 시스템에 표시된 서비스 이름은 patrol-coll
일부 다른 소프트웨어가 이 포트를 사용하도록 구성되었을 수 있음을 나타냅니다. (아마도 BMC Patrol 모니터링 소프트웨어의 통계 수집기일까요?)