centos7.5配置iptables防火墙

iptables防火墙具有4表5链,4表分别是filter表、nat表、raw表、mangle表,5链分别是INPUT链、OUTPUT链、FORWARD链、PREROUTING链、POSTROUTING链。防火墙规则要求写在特定表的特定链中。


iptables.png
filter1.png

关闭firewalld服务器,启动iptables服务

systemctl stop firewalld.service 
systemctl disable firewalld.service

iptables命令的基本使用方法

iptables [-t 表名] 选项 [链名] [条件] [-j 目标操作]

示例:

iptables  -t  filter  -I  INPUT -p  icmp  -j  REJECT

#注意事项与规律:
#可以不指定表,默认为filter表
#可以不指定链,默认为对应表的所有链
#按顺序匹配,匹配即停止,如果没有找到匹配条件,则执行防火墙默认规则
#选项/链名/目标操作用大写字母,其余都小写

#目标操作:
# ACCEPT:允许通过/放行
# DROP:直接丢弃,不给出任何回应
# REJECT:拒绝通过,必要时会给出提示
# LOG:记录日志,然后传给下一条规则

iptables常用的管理选项:

常用管理选项.png

一、iptables命令的使用

创建规则

iptables -F #清空所有规则:

追加规则至filter表中的INPUT链的末尾,允许任何人使用TCP协议访问本机

iptables -t filter -A INPUT -p tcp -j ACCEPT

插入规则至filter表中的INPUT链的开头,允许任何人使用UDP协议访问本机

iptables -I INPUT -p udp -j ACCEPT

插入规则至filter表中的INPUT链的第2行,允许任何人使用ICMP协议访问本机

iptables -I INPUT 2 -p icmp -j ACCEPT

查看iptables防火墙规则

iptables  -nL  INPUT                                #仅查看INPUT链的规则
iptables  -L  INPUT  --line-numbers         #查看规则,显示行号

删除规则,清空所有规则:

iptables  -D  INPUT  3          #删除filter表中INPUT链的第3条规则
iptables  -F                           #清空filter表中所有链的防火墙规则
iptables  -t  nat  -F               #清空nat表中所有链的防火墙规则
iptables  -t  mangle  -F         #清空mangle表中所有链的防火墙规则
iptables  -t  raw  -F              #清空raw表中所有链的防火墙规则

设置防火墙默认规则

设置INPUT链默认规则为DROP:

iptables  -t  filter  -P  INPUT  DROP

iptables  -nL
Chain INPUT (policy DROP)
… …

设置INPUT链默认规则为ACCEPT

iptables  -t  filter  -P  INPUT  ACCEPT

二、filter过滤和转发控制

主机型防火墙,主要保护的是服务器本机(过滤威胁本机的数据包)。
网络防火墙,主要保护的是防火墙后面的其他服务器,如web服务器、FTP服务器等。

iptables防火墙可以根据很多规则进行过滤行为

过滤条件.png

1)主机型防火墙

iptables -I INPUT -p tcp --dport 80 -j REJECT
iptables -I INPUT -s 192.168.2.100 -j REJECT
iptables -I INPUT -d 192.168.2.5 -p tcp --dport 80 -j REJECT
iptables -I INPUT -i eth0 -p tcp --dport 80 -j REJECT

丢弃192.168.2.0/24网络中所有主机发送给本机的所有数据包:

iptables  -A  INPUT -s  192.168.2.0/24  -j  DROP

拒绝114.212.33.12使用tcp协议远程连接本机ssh(22端口):

iptables -A  INPUT -s  114.212.33.12  -p tcp --dport 22 -j  REJECT

2)网络型防火墙

要把proxy主机的路由转发功能打开

网络型防火墙.png

1)client主机配置IP、添加网关(网卡名称仅供参考
注意:如果client主机有2网段IP的网卡,必须要关闭该网卡

nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.10/24 autoconnect yes
nmcli connection modify eth0 ipv4.gateway 192.168.4.5
nmcli connection up eth0
iptables -F

2)proxy主机配置IP、添加网关、开启路由转发(网卡名称仅供参考)

nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.5/24 autoconnect yes
nmcli connection up eth0
nmcli connection modify eth1 ipv4.method manual ipv4.addresses 192.168.2.5/24 autoconnect yes
nmcli connection up eth1
iptables -F

Linux内核默认支持软路由功能,通过修改内核参数即可开启或关闭路由转发功能。

echo 0 > /proc/sys/net/ipv4/ip_forward            #关闭路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward            #开启路由转发

#注意以上操作仅当前有效,计算机重启后无效

#修改/etc/sysctl.conf配置文件,可以实现永久有效规则

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

3)web1主机配置IP、添加网关(网卡名称仅供参考)
注意:如果web1主机有4网段IP的网卡,必须要关闭该网卡

nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.2.100/24 autoconnect yes
nmcli connection modify eth0 ipv4.gateway 192.168.2.5
nmcli connection up eth0

4)确认不同网络的联通性

ping 192.168.2.100
ping 192.168.4.10

5)在web1主机上启动http服务

yum -y install httpd
echo "test page" > /var/www/html/index.html
systemctl restart httpd

没有防火墙的情况下client访问web服务(成功)

curl http://192.168.2.100

设置proxy主机的防火墙规则,保护防火墙后面的Web服务器

iptables -I FORWARD -s 192.168.4.10 -p tcp --dport 80 -j DROP

设置完防火墙规则后,再次使用client客户端访问测试效果(失败)

curl http://192.168.2.100

三、禁ping的相关策略

ping的流程(A主机pingB主机):


ping.png

禁止其他主机ping本机,允许本机ping其他主机,仅禁止入站的ping请求,不拒绝入站的ping回应包。

iptables  -A  INPUT  -p icmp  --icmp-type echo-request  -j  DROP

注意:关于ICMP的类型,可以参考help帮助,参考命令如下:

iptables -p icmp --help

所有iptables规则都是临时规则,如果需要永久保留规则需要执行如下命令:
安装iptables-services并启动服务,保存防火墙规则。

yum -y install iptables-services
systemctl start iptables.service
systemctl enable iptables.service
service  iptables save
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容