저는 많은 서버에서 iptables를 사용하고 있지만 이제 기본 정책을 DROP으로 사용할 때 이 문제가 발생합니다.
이것은 제가 VPS에서 사용하는 규칙입니다. 여러 번 시도했지만 모든 것이 괜찮아 보이지만 이 규칙을 사용하면 VPS 연결이 끊어집니다.
내 시간을 업데이트하려면 ssh 포트 2222와 ntp만 필요합니다.
iptables -F
iptables -X LOGGING
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 123 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 123 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -j DROP
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 10/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7
VPS에서 로그아웃할 때까지 VPS에 액세스할 수 있지만 여전히 빌드되고, 로그아웃했다가 다시 로그인을 시도하면 로그인할 수 없습니다. 누군가 나를 위해 규칙을 검토해 줄 수 있나요?
답변1
포트 2222에서 들어오는 트래픽에 대한 규칙은 다음과 같습니다.
iptables -A INPUT -i eth0 -p tcp --sport 2222 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 2222 -m state --state ESTABLISHED -j ACCEPT
새로운 연결을 허용하지 않으므로 외부에서 연결할 수 없습니다.
이 문제지금은 흥미로울 수도 있습니다.