특정 사용자에게 로컬 포트 ​​액세스 제한

특정 사용자에게 로컬 포트 ​​액세스 제한

데비안에서 특정 사용자의 특정 포트에 대한 액세스를 제한하려고 합니다.

사용자 ID가 1000이고 차단하려는 포트가 5000이라고 가정해 보겠습니다.

다음 명령으로 iptables를 사용하려고 합니다.

iptables -I OUTPUT -o lo -p tcp --dport 5000 --match owner --uid-owner 1000 -j DROP

사용자가 실행 curl 127.0.0.1:5000하거나 실행 하면 작동 curl <machine_ip>:5000하지만 사용자가 실행하면 효과가 없습니다 curl localhost:5000.

왜 작동하지 않는지 이해할 수 없습니다. 나는 localhost로 변환되었지만 127.0.0.1차이점은 무엇입니까?

내 /etc/hosts 파일에는

127.0.0.1   localhost

# The following lines are desirable for IPv6 capable hosts
::1 localhost   ip6-localhost ip6-loopback

답변1

IPv6에도 동일한 작업을 수행합니다... localhost는 IPv4 및 IPv6 주소를 모두 확인하며 v6이 선호됩니다.

편집 1:

ip6tables -I OUTPUT -o lo -p tcp --dport 5000 --match owner --uid-owner 1000 -j DROP

관련 정보