iptables 적용이 안됩니다 ㅠ.ㅠ

vudghkzm의 이미지

아이피 xxx.xxx.xxx.xxx 로 부터의 ssh 접속을 허용하기 위해서 다음과 같이 쉘에서 명령을 내린 후에 iptables -L 명령을 내려서 리스트에 있는지 확인해 보았습니다. 하지만 리스트에 보이지 않더군요.

iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

위와 같이 명령만 내린다고 해서 적용이 되는건 아닌가요?

어떻게 하면 룰이 적용되는 것인지 궁금합니다.

익명 사용자의 이미지

fifo와 비슷합니다.

즉 명령을 내리는 순서에 따라서 뒤의 명령이 무시되기도 합니다.

이를테면 명령 전에 모든 패킷을 드랍이나 리젝트를 시키는 룰이 있다면,
그 다음에
특정한 것을 허용하는 룰이 나오더라도 소용이 없습니다.

배포본이 무엇입니까?

설정하는 것이 배포본마다 다릅니다.

wariua의 이미지

iptables -A INPUT ...

대신
iptables -I INPUT ...

이라고 해주시면 INPUT 체인의 첫번째 위치에 규칙이 들어가기 때문에 기존의 다른 룰에 영향을 받지 않을 수 있습니다.(Append 하는 대신 Insert) 단 이를 부팅시 자동으로 적용되도록 하는 방법은 손님님 말씀대로 배포판마다 다릅니다.

$PWD `date`