我的iptables
不起作用,不阻止 IP
我尝试66.85.48.9
使用此规则阻止此 IP
iptables -I INPUT -s 66.85.48.9 -j DROP
iptables -I INPUT -d 66.85.48.9 -j DROP
但当我从该 IP 机器 ping 我的 IP 服务器时,我得到的答复是未超时
这是我的服务状态
root@vmi:~# service --status-all
[ + ] acpid
[ - ] anacron
[ + ] apache2
[ + ] apparmor
[ ? ] apport
[ + ] avahi-daemon
[ + ] bluetooth
[ ? ] console-setup
[ + ] cron
[ + ] cups
[ + ] cups-browsed
[ - ] dbus
[ + ] ddos
[ ? ] dns-clean
[ - ] fail2ban
[ + ] friendly-recovery
[ + ] gdm
[ - ] grub-common
[ ? ] irqbalance
[ ? ] killprocs
[ ? ] kmod
[ ? ] mysql
[ ? ] networking
[ ? ] ogp_agent
[ ? ] ondemand
[ - ] openbsd-inetd
[ - ] postfix
[ ? ] pppd-dns
[ - ] procps
[ - ] psad
[ - ] pulseaudio
[ + ] pure-ftpd
[ ? ] rc.local
[ + ] resolvconf
[ - ] rsync
[ + ] rsyslog
[ + ] saned
[ ? ] screen-cleanup
[ ? ] sendsigs
[ + ] ssh
[ - ] sudo
[ + ] udev
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ - ] unattended-upgrades
[ - ] urandom
[ - ] x11-common
答案1
您的 iptables 规则正在运行并且阻止所有端口机器66.85.48.9
。
ssh
您可以通过测试特定服务和端口(例如,端口22
、ftp
端口21
或telnet 66.85.48.9 80
测试默认网页端口)来验证机器的 IP 是否被阻止。在远程登录命令将替换66.85.48.9
为您的 IP 服务器的 IP。
您的命令不会阻止 ping 请求。 使用此规则阻止 ping 请求另一台机器:
$ sudo iptables -A INPUT -s 66.85.48.9 -p icmp -j DROP
笔记:
从你的输出来看,你正在运行Apache2服务,您可以验证当前规则是否阻止了对机器 66.85.48.9 的访问。
防止 UDP 泛洪的规则
在此示例中,您可以阻止来自所有来源的 UDP,同时提供对所需来源(例如您的 DNS 服务器)的访问权限...在此示例中,允许 Google 的 DNS 服务器。使用相同的方法允许来自您希望允许的任何其他 IP 的访问。
# allow dns requests to google nameservers
iptables -A OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -d 8.8.4.4 -j ACCEPT
# block all other udp
iptables -A OUTPUT -p udp -j DROP
ip6tables -A OUTPUT -p udp -j DROP