- Linux 2.4之后的防火墙iptables,iptables由3个表filter,nat,mangle组成,主要实验了filter表,这个表是用来过滤数据包的,有三个链INPUT,OUTPUT,FORWARD。
配置防火墙策略有固定的格式iptables 表名 链名 匹配条件 动作
-t 表名 (默认为filter)
-A 链名(在该链末尾append追加策略)
-I 链名 数字
-I (insert)插入链,如果不加数字,默认是将写的策略添加到表中所有策略的前面,但是我们要指定插入到相应的行,我们可以这样
Iptables –t filter –I INPUT 2 …… 这里就是插到第二个
匹配条件:
-i 网卡 数据包进入的网卡-o 网卡 出去的
-s ip 源ip
-d ip 目的ip
-p 协议
--dport 端口号 目的端口号
--sport 端口号 源端口号
动作:
ACCEPT:对满足策略的数据包允许通过DROP:丢弃数据包,且不返回任何信息
REJECT:丢弃数据包,但是会返回拒绝的信息
LOG:把通过的数据包写到日志中(相当于一个门卫对进去的人进行登记)
查看本机iptables情况iptables -L -n --line-number
- 防火墙的关闭、打开
重启系统后生效
立即生效,重启系统后丢失设置#打开 chkconfig iptables on #关闭 chkconfig iptables off
#开启 service iptables start #关闭 service iptables stop
- 添加策略
如果做了WEB服务器,开启80端口. [root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT 如果做了邮件服务器,开启25,110端口. [root@tp ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT [root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT 如果做了FTP服务器,开启21端口 [root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT [root@tp ~]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT 如果做了DNS服务器,开启53端口 [root@tp ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT 如果你还做了其他的服务器,需要开启哪个端口,照写就行了. 上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP 允许icmp包通过,也就是允许ping, [root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话) [root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT (INPUT设置成DROP的话) 允许loopback!(不然会导致DNS无法正常关闭等问题) IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP) IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)
只允许192.168.0.3的机器进行SSH连接[root@tp ~]# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.24表示子网掩码数 - 删除策略
iptables -D INPUT 1 #删除INPUT链的序号为1的策略
- 修改filter表的链
iptables -t filter -P INPUT DROP #修改filter表的INPUT链的默认动作
iptables 访问策略笔记
最新推荐文章于 2023-05-06 14:55:04 发布