我发现有一个网段的 IP 地址总是想对我们的服务器干点坏事,我们可以禁止掉整个网段的访问。比如要禁用的是 192.168.66.1 到 192.168.66.254 这之间的所有的 IP 地址 ..
先输入一个 sudo iptalbes -A INPUT 表示把规则插入到 INPUT 这个 Chain 里面,然后指定一下数据包的来源 .. 用一个 -s .. 192.168.66.0/24 .. 后面的 /24 表示一个子网 .. 它的意思就是从 192.168.66.1 到 192.168.66.254 这些 IP 地址 ..
想要了解更多的关于这个子网的表示方法,可以搜索一下 IP CIDR ...
在规则里面,我们还可以指定传输数据包用的协议 .. 用一个 -p 选项,设置成 tcp ,意思就是数据包是用 tcp 这种协议传输的 ..
如果你只想禁止掉对一个端口号的访问,可以用一个 --dport ,它表示 destination-port .. 目标端口 .. 这里设置成 80 .. 再指定一个动作 .. -j DROP ..
回车执行一下 .. 这条规则的意思就是,禁止 192.168.66.1 到 192.168.66.254 这些 IP 地址使用 tcp 协议在 80 端口传输数据 ..
sudo iptables -A INPUT -s 192.168.33.0/24 -p tcp --dport 80 -j DROP
登录到 guest2 这台主机 .. 输入 ifconfig ,它的 IP 地址是 192.168.66.2 ..
我们可以使用 nmap 扫描一下 server 的 80 端口 ... 我提前安装好了 nmap 这个工具 .. nmap 192.168.33.160 -p 80
意思是去扫描一下 server 的 80 端口 ..
在返回的东西里面,你会看到,这个 80 端口的状态是 filtered ,意思就是被过滤掉了,因为在 server 上面我们刚才设置了一条防火墙规则,禁止了这台主机使用 tcp 协议在 80 端口传输数据 ..