내 집 IP를 제외한 모든 IP를 차단하고 싶습니다. 이렇게 하세요아무것내 서버에.
iptables로 어떻게 할 수 있나요? 예를 들어 내 집 IP가 1.2.3.4라고 가정해 보겠습니다.
내 서버는 여전히 다양한 IP에 연결할 수 있어야 합니다. 또한 이렇게 하면 일반적인 문제가 발생합니까?
이 같은? (작동하지 않음)
/sbin/iptables -A INPUT -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -j DROP
iptables -A OUTPUT -d 0.0.0.0/0 -j DROP
답변1
OUTPUT
체인을 가만히 유지하십시오 . 이것을 당신의 INPUT
체인 에 넣어라
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -j DROP # or REJECT
첫 번째 규칙을 사용하면 iptables
구성에서 설정된 연결에 대한 트래픽(즉, 자체 서버에서 시작하여 다른 대상으로 향하는 트래픽)을 허용할 수 있습니다.
답변2
/etc/hosts.deny
및 을 사용할 수 있습니다 /etc/hosts.allow
.
/etc/hosts.allow
:
ALL: allowed_ip
/etc/hosts.deny
:
ALL: ALL
이 구성은 허용된 IP에서만 서버에 액세스합니다(일부 경우 문제가 될 수 있음). 아마도 firewall
서버에 대한 액세스를 지정하려면 일부를 사용해야 할 것입니다 .
그러나 위의 방법은 ICMP 요청을 처리하지 않습니다 httpd
. 다음을 시도해 볼 수 있습니다.
# Allow your server to other destinations
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Default Policy to DROP all incoming traffic
iptables -P INPUT DROP
# Allow traffic from source 1.2.3.4
# Add an additional rule for each allowed source
iptables -A INPUT -s 1.2.3.4 -j ACCEPT