그래서 제 질문은 UPD 포트 140이 포트 8989에서 패킷을 수신하는 것을 방지하고 싶지만 이를 적극적으로 차단하고 싶다는 것입니다. 단지 조용히 무시하는 것이 아니라 이 패킷의 발신자에게 이 포트가 차단되었음을 나타내는 활성 신호를 보내는 것입니다.
온라인 포럼에서 icmp가 거부된 메시지를 사전에 보내는 좋은 방법이라는 것을 알 수 있습니다.
그리고 이것에 대해법정이것은 이 포럼에서 답변이 필요한 질문과 거의 동일합니다.
Your iptables rule should REJECT with an ICMP port unreachable, e.g.:
-j REJECT --reject-with icmp-port-unreachable
or for IPV6:
-j REJECT --reject-with icmp6-port-unreachable
나는 이전에 시도했습니다:
iptables -A INPUT -p TCP --dport 80 -j REJECT --reject-with icmp-port-unreachable tcp-reset
작동하지만 포트 80을 차단합니다. 이 방법으로 포트 140 중 포트 8989를 차단할 수 있는지 궁금합니다.
내가 시도한 명령:
iptables -A input -s 5.4.3.2 —dport 140 -j REJECT --reject-with icmp-port-unreachable
나는 이 문제를 해결하기 위해 약 3일 동안 노력해왔습니다. 누구든지 도와줄 수 있나요? 나는 최선을 다하고 있습니다. 여기에서 찾은 소중한 명령을 시도했습니다.페이지그러나 포트가 필요한 IP 주소에서만 한 포트에서 다른 포트로 차단하는 방법은 보여주지 않습니다.
IP 주소를 차단하려고 시도한 코드를 찾았습니다. 먼저 포트 140에 이 코드를 시도했습니다.
/sbin/iptables -A OUTPUT -p udp --dport {140} -j DROP
인터페이스 부분에서는 을 사용 eth1
하지만 여전히 포트 140을 선택해야 합니다.
/sbin/iptables -A OUTPUT -o eth1 -p udp --dport {8989} -j DROP
특정 IP 또는 서브넷에 대한 포트만 제거:
/sbin/iptables -A OUTPUT -o eth1 -p udp --destination-port {140} -s {***.***.***.***} -j DROP
/sbin/iptables -A OUTPUT -o eth1 -p udp --destination-port {8989} -s {***.***.***.***} -j DROP
변수 부분에서 뭔가 잘못하고 있는 것 같은데, 함수를 읽어보니 단일 포트를 선택할 수 있는 부분이 보이지 않습니다.
나는 이것을 시도했지만 8989뿐만 아니라 포트 140으로 전송된 모든 패킷을 차단했습니다.
iptables -A INPUT -j DROP -p udp --destination-port 140 -i eth1
다시 한 번 제 질문은 소스 포트가 8989인 패킷의 경우 eth1의 udp에 대해 포트 140을 적극적으로 차단해야 합니까? 하지만 자동으로 무시되지 않고 발신자에게 보고되도록 적극적으로 차단해야 합니다. 활성 신호 패킷을 보내는 것은 다음을 나타냅니다. 포트가 차단되었습니다. 어떻게 하시겠습니까?
답변1
/sbin/iptables -A ....
이 규칙을 체인 끝에 추가하는 경우 적용 여부는 체인에서 이전 항목에 따라 달라집니다. 체인의 시작 부분에 넣으려면 "-I"를 사용하세요.
소스와 대상을 기준으로 차단하려면 소스와 대상을 모두 지정해야 합니다.
iptables -I INPUT -j REJECT -p udp --destination-port 140 --source-port 8989 -i eth1