인바운드 방향에서는 단일 IP의 http를 허용하고 아웃바운드 방향에서는 DNS를 허용하고 차단하도록 IPTables를 어떻게 구성합니까?

인바운드 방향에서는 단일 IP의 http를 허용하고 아웃바운드 방향에서는 DNS를 허용하고 차단하도록 IPTables를 어떻게 구성합니까?

10.0.0.1의 http 연결만 허용하고 다른 모든 연결은 거부하도록 IPTables를 구성하려고 합니다. 10.0.0.1에서 http 연결을 설정하면 차단됩니다. 또 다른 문제에 직면해 있습니다. 나가는 방향으로 DNS를 허용하고 다른 모든 것을 차단하려고 합니다. 문제는 OUTPUT DROP을 사용할 때 모든 것이 삭제된다는 것입니다.

이게 내가 한 일이야

iptables -A INPUT -p tcp -s 10.0.0.1 --dport 80 -j ACCEPT
iptables -A INPUT DROP
iptables -A OUTPUT -p udp -d 8.8.8.8 --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -d 8.8.8.8 --dport 53 -j ACCEPT
iptables -P OUTPUT DROP

답변1

또한 출력을 차단하는 것 같습니다(마지막 두 줄 제거). 소스 포트는 80이 아닙니다. 이미 구성되어 있어야 합니다 --dport 80.

또한 ufw또는 gufw(의 그래픽 프런트엔드 ufw) 사용을 고려해보세요. 왜냐하면 이것이 당신을 위해 하고 사용하기 훨씬 더 쉽기 때문입니다.

답변2

그리고 iptables규칙, 순서가 중요해요. 10.0.0.1인 경우고객HTTP 서버에 연결하려면 --dport(대상 포트)가 필요합니다.원천포트. 그래서:

iptables -A INPUT -p tcp -s 10.0.0.1 --dport 80 -j ACCEPT
iptables -P INPUT DROP

두 번째 규칙은 다음을 의미합니다. 다른 모든 것을 포기하십시오.

관련 정보