내 개인 네트워크 외부에서 내 서버에 대한 액세스를 차단해야 합니다.
내 서버에서 개인 네트워크로의 핑만 허용하고 개인 네트워크의 핑에 응답하면 됩니다.
그러나 내가 설정한 규칙으로는 핑이 차단되고 서버가 개인 네트워크의 핑에 응답하지 않기 때문에 작동하지 않습니다.
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 0/0 -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j REJECT
iptables -A OUTPUT -p icmp --icmp-type 8 -s 192.168.1.0/24 -d 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j REJECT
답변1
REJECT 대신 DROP을 사용해 보세요.
체인에는 어떤 규칙과도 일치하지 않는 패킷에 어떤 일이 발생해야 하는지를 지시하는 정책이 있습니다. 최종 규칙 대신 이를 사용하세요.
INPUT 체인에서만 언급하고 트래픽이 양방향으로 흐르기 때문에 이러한 규칙은 SSH가 작동하도록 하지 않습니다.
커널의 연결 추적 기능은 충분하므로 입력과 출력 모두에서 "-m state --state ESTABLISHED,RELATED -j ACCEPT" 규칙을 사용하는 것이 좋습니다. 그런 다음 새 규칙을 추가할 때 연결을 시작한 사람만 고려하면 됩니다.