데비안에서 특정 사용자의 특정 포트에 대한 액세스를 제한하려고 합니다.
사용자 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