[firewall] iptables는 IP 주소를 제외하고 포트 8000에 대한 액세스를 차단합니다.

나는 iptables를 사용한 적이 없으며 온라인 문서는 약간 불투명 해 보입니다.

특정 IP 주소에서 오는 요청을 제외하고 내 서버의 포트 8000에 대한 모든 요청을 차단하고 싶습니다. iptables를 사용하여 어떻게합니까?



답변

이 질문은 Server Fault 에 있어야합니다 . 그럼에도 불구하고 TCP에 대해 이야기하고 있고 허용하려는 IP가 1.2.3.4라고 가정하면 다음이 트릭을 수행해야합니다.

iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP


답변

또 다른 대안은 다음과 같습니다.

sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP

3 브리지 가상 머신이 서로 다른 조합으로 서로 액세스해야한다는 유사한 문제가 있었기 때문에이 명령을 테스트했으며 잘 작동합니다.

편집하다**

Fernando 설명에 따르면이 링크 느낌표 ( !)는 -s매개 변수 보다 앞에 배치 됩니다.

sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP


답변

항상 iptables를 사용하여 규칙을 삭제할 수 있습니다. 규칙이 많은 경우 다음 명령을 사용하여 출력하십시오.

iptables-save > myfile

vi추천 라인에서 편집 할 수 있습니다. 더 이상 원하지 않는 줄을 삭제하려면 “dd”를 사용하십시오.

iptables-restore < myfile and you're good to go.

규칙을 파일에 저장하도록 OS를 구성하지 않고 부팅하는 동안 파일을로드하면 규칙이 손실된다는 점을 기억하십시오.


답변