나는 iptables를 사용하는 Debian 7에서 문제가 발생한 적이 없습니다. 그러나 데비안 8에서는 iptables가 전혀 작동하지 않습니다.
이와 같은 간단한 스크립트는 로드하는 데 몇 분이 걸리며 내 포털 페이지에 대한 액세스를 허용하지 않습니다.
#!/bin/bash
# Delete existing rules
iptables -F
# Set default chain policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Outbound DNS
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
# Portal
iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 8443 -j ACCEPT
# Logging
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 12/min -j LOG --log-prefix "eh: " --log-level 7
iptables -A LOGGING - DROP
포트 8443에 액세스할 수 없다는 iptable 로그가 많이 나타납니다. 내 서버에는 3개의 NIC가 있는데, 모두 ESXi 6.0의 가상 NIC입니다. iptables가 없으면 네트워크에 액세스하고 포털 페이지에 액세스하는 등의 작업을 할 수 있습니다. 괜찮아요.
iptables에 eth0을 지정해 보았지만 그것도 도움이 되지 않았습니다.
답변1
NEW, RELATED, ESTABLISHED에 대한 규칙을 추가하지 않았습니다. 이전 버전에서는 추가하지 않고 기본적으로 허용하거나 추가했을 수도 있습니다. 이 경우 규칙을 추가해야 합니다. 먼저 다음 명령을 사용하여 모든 규칙을 삭제합니다.
iptables -F
iptables -X
그런 다음 규칙을 추가합니다.
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -j ACCEPT
스크립트를 실행하세요. 그렇지 않은 경우 작동하고 출력됩니다.sudo iptables -vnL