Centos7.3部署iptables防火墙

规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规 则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工作就是添加、修改和删除这些规则Iptables和netfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道 netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。


实验环境:单台服务器部署,IP地址为:192.168.10.30
[root@server ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

  1. 规则说明:
    在centos7系统新增了firewalld模块,相比firewalled个人更倾向于iptables;在iptables匹配规则时默认是按从上到下匹配的,最低层是默认规则。
    链:链上的规则次序,即为检查的次序;因此,隐含一定的应用法则:
    (1) 同类规则,匹配范围小的放上面
    (2) 不同类的规则,匹配到报文频率较大的放上面
    (3) 将那些可由一条规则描述的多个规则合并起来
    (4) 设置默认策略
    4表:raw mangle nat filter
    5链:PREROUTING INPUT FORWARD OUTPUT POSTROUTING
  2. 安装配置:
    [root@iptable~]# yum install iptables-services -y //安装Iptables
    [root@iptable~]# systemctl enable iptables && systemctl start iptables //设置开机自启动
    [root@iptable~]# systemctl list-unit-files | grep iptables
    [root@iptable~]# ss -tunl //查看本地监听端口
    iptables没有专业防火墙的“自反”功能,实际做精确匹配时不仅需要开放访问服务器的监听端口,还需放通服务器访问外部服务时返回的流量。

第一步:服务器开放端口写前面,服务器自身访问服务直接写源IP段
[root@server ~]# cat << EOF > /etc/sysconfig/iptables

#sample configuration for iptables service
#you can edit this manually or use system-config-firewall
#please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -d 224.0.0.18 -i bond0 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 21,22,80 -j ACCEPT
-A INPUT -p udp -m multiport --dports 123 -j ACCEPT
#Fuwuqi_Fangwen
-A INPUT -p udp -s 202.108.6.95/32 --source-port 123 -j ACCEPT
-A INPUT -p udp -s 8.8.8.8/32 --source-port 53 -j ACCEPT
#Center
-A INPUT -s 192.168.10.0/24 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 22,3306 -j DROP
COMMIT
EOF

[root@iptable~]# systemctl enable iptables && systemctl restart iptables // Iptables更新配置加载
[root@iptable~]# iptables -vnL //查看流量匹配的策略

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

第二步:观察两天确保默认策略下无包通过再把:INPUT ACCEPT [0:0]改成DROP;


iptables常用的几个配置:

1、multiport:以离散方式定义多端口匹配,最多指定15个端口;
[root@iptable~]# vim /etc/sysconfig/iptables
-A INPUT -s 172.16.0.0/16 -d 10.0.0.1 -p tcp -m multiport --dports 22,80 -j ACCEPT
2、Iprange扩展:指明连续的IP地址范围(--src-range源IP地址;--dst-range目标IP)
[root@iptable~]# vim /etc/sysconfig/iptables
-A INPUT -d 10.0.0.1 -p tcp --dport 80 -m iprange --src-range 172.16.1.10-172.16.1.20 -j ACCEPT
3、string/time/connlimit/扩展,对报文中的应用层诗句做字符串模式匹配检测:
[root@iptable~]# vim /etc/sysconfig/iptables
-A OUTPUT -s 10.0.0.1/8 -d 172.16.0.0/16 -p tcp --dport 80 -m string -algo bm --string "gay" -j REJECT
-A INPUT -s 10.0.0.1/8 -p tcp --dport 80 -m time --timestart 14:30 --timestop 18:00 --weekdays Sat,Sun --kerneltz -j DROP
-A INPUT -d 172.16.0.0/16 -p tcp --dport 21 -m connlimt –connlimit-above 2 -j REJECT
[root@iptable~]# iptables -vnL //查看filter表规则状态(默认表)
[root@iptable~]# iptables -t mangle -vnL //查看mangle表规则状态

转载于:https://blog.51cto.com/263393281/2045597

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值