iptables INPUT链使用实例说明
Posted cangqinglang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables INPUT链使用实例说明相关的知识,希望对你有一定的参考价值。
一、简介一下iptables
iptables命令中ACCEPT(允许流量通过)、LOG(记录日志信息)、REJECT(拒绝流量通过)、DROP(拒绝流量通过)。允许动作和记录日志工作都比较好理解,着重需要讲解的是这两条拒绝动作的不同点,其中REJECT和DROP的动作操作都是把数据包拒绝,DROP是直接把数据包抛弃不响应,而REJECT会拒绝后再回复一条“您的信息我已收到,但被扔掉了”,让对方清晰的看到数据被拒绝的响应。下图是iptables的选项。
二、我们今天分别演示
- 设置拒绝规则链(默认只能是DROP不能是REJECT);
- 向规则链中添加icmp包流入允许策略(就是允许别人通过ping命令来查看我们的主机是否在线);
- 只允许本机指定端口被指定网段访问,其他流量均被拒绝; – 拒绝所有人访问本机指定端口;
- 拒绝指定主机访问本机指定端口;
- 拒绝所有人访问本机指定的端口段;
- 删除指定策略;
- 最后保存设置的防火墙策略。
1、设置拒绝规则链(默认只能是DROP不能是REJECT)。首先我们输入“iptables -F”清空所有防火墙策略(一定要在实验环境下做,不然会把配置好的策略清除)。然后输入“iptables -P INPUT DROP”。设置好以后我们用“iptables -L”命令查看一下策略列表。然后用ping命令验证一下是否设置成功。可以看到已经拒绝了。成功之后我们为了下面的演示,把INPUT策略设置为允许通过“iptables -P ACCEPT”。
2、向规则链中添加icmp包流入允许策略(就是允许别人通过ping命令来查看我们的主机是否在线)。输入命令:
iptables -I INPUT -p icmp -j ACCEPT
然后我们用ping命令测试一下,可以看到ping通了。
3、只允许本机22端口被192.168.1.0/24网段访问,其他流量均被拒绝。我们输入命令:
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
和命令:
iptables -A INPUT -p tcp --dport 22 -j REJECT
同学们都知道22端口是ssh服务占用的资源。我们用ssh测试一下,可以看到能够连接到远程主机。
4、拒绝所有人访问本机8888端口,输入命令:
iptables -I INPUT -p tcp --dport 8888 -j REJECT
和命令:
iptables -I INPUT -p udp --dport 8888 -j REJECT
5、拒绝指定主机192.168.1.200访问本机80端口,输入命令:
iptables -I INPUT -s 192.168.1.200 -p tcp --dport 80 -j REJECT
6、拒绝所有人访问本机4444到5555端口,输入命令:
iptables -A INPUT -p tcp --dport 4444:5555 -j REJECT
和命令:
iptables -A INPUT -p udp --dport 4444:5555 -j REJECT
7、删除INPUT链中的第2条策略,首先我们看一下防火墙策略中的第二条策略是什么“iptables -L”,然后输入命令删除第2条策略:
iptables -D INPUT 2
可以看到第2条策略被删除了。
8、设置的防护墙策略在重启系统之后会消失,所有我们要保存设置好的策略,输入命令:
service iptables save
好了,今天的演示就到这里了。
以上是关于iptables INPUT链使用实例说明的主要内容,如果未能解决你的问题,请参考以下文章