Linux防火墙之IPtables

一、IPtables安装

1、关闭默认防火墙firewalld服务

systemctl stop firewalld                             #停止firewalld服务
systemctl disable firewalld                          #禁止firewalld开机服务

2、安装IPtables服务

yum install -y iptables-services

3、启动IPtables服务

systemctl start iptables

4、 查看IPtables运行状态

systemctl status iptables

5、关闭IPtables服务

systemctl stop iptables

二、IPtables配置

1、类别参数

-t               指定操作的表
-L, --list       列出当前的规则
-v               显示数据包和数据包大小
-n               不反解地址
-A, --append     追加一条规则到链中
-I, --insert     插入一条规则,插入到顶部
-F, --flush      清空
-Z, --zero       清空计数器(  包数量 、包大小)

-D, --delete     删除链中的规则

-R, --replace    修改
-S, --list-rules 列出所有的规则


-N, --new-chain  创建一个自定义 链
-X, --delete-chain 删除一个自定义链
-P, --policy     指定链的默认策略

2、指定动作

ACCEPT     将数据包放行,进行完此处理动作后,将不再比对其它规则,直接跳往下一个规则链。
REJECT     拦阻该数据包,并传送数据包通知对方。
DROP       丢弃包不予处理,进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。
REDIRECT   将包重新导向到另一个端口,进行完此处理动作后,将会继续比对其它规则。

3、 匹配条件

TCP(http)
UDP
ICMP(ping)
ALL

 4、地址参数

-s 源地址:发送请求的地址
-d 目标地址:访问的地址

5、端口参数

--sport 源端口:发送请求的端口
--dport 目标端口:访问的端口

6、动作参数

-i : 进来的网卡
-o : 出去的网卡
-m : 指定模块
-j : 转发动作
-p :指定协议

三、IPtables使用

1、使用场景:只允许22端口可以访问,其他端口全部无法访问

iptables -t filter -A INPUT -p TCP --dport 22  -j ACCEPT
iptables -t filter -A INPUT -p TCP -j DROP

2、使用场景:只允许22,80,443端口可以访问,其他端口全部无法访问

iptables -t filter -A INPUT -p TCP --dport 22  -j ACCEPT
iptables -t filter -A INPUT -p TCP --dport 80  -j ACCEPT
iptables -t filter -A INPUT -p TCP --dport 443  -j ACCEPT
iptables -t filter -A INPUT -p TCP -j DROP

3、使用场景:要求使用192.168.15.81能够通过22端口链接,但是其他的不行

iptables -t filter -A INPUT -p TCP -d 192.168.15.81 --dport 22  -j ACCEPT
iptables -t filter -A INPUT -p TCP -j DROP

4、使用场景:只允许192.168.15.71能够通过22端口链接,其他的不行

iptables -t filter -A INPUT -p  TCP -s 192.168.15.71  -d 192.168.15.81 --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p TCP -j DROP

5、使用场景:要求192.168.15.71对外部不可见

iptables -t filter -A INPUT -p TCP -d 192.168.15.71 -j DROP

6、使用场景:要求使用eth0网卡的所有请求全部拒绝

iptables -t filter -A INPUT -p TCP -i eth0 -j DROP

7、使用场景:要求访问服务器的8080端口转发至80端口

iptables -t nat -A PREROUTING -p TCP --dport 8080 -j REDIRECT --to-port 80

8、使用场景:要求只允许windows通过ssh连接192.168.15.81,其他的拒绝

iptables -t filter -I INPUT -p TCP -s 192.168.15.1 -d 192.168.15.81 --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p TCP --dport 22 -j DROP

9、 配置规则保存到/etc/sysconfig/iptables,使配置永久生效

service iptables save

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

藥瓿亭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值