iptables与firewall小实验

安装iptables服务的包:

yum install iptables-services -y

yum install firewalld -y

[root@server ~]# iptables -F #清空所有的规则表,清空之后客户端可以访问ssh和http服务

 iptables命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。

语法格式:iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

iptables的参数说明:

参数

说明

-t

对指定的表进行操作,table必须是raw,nat,filter,mangle中的一个。默认是filter表。

-p

指定要匹配的数据包协议类型

-s

--source address/mask:把指定的一个或者一组地址作为源地址,按此规则进行过滤。当后面没有mask 时,address 是一个地址,比如:192.168.1.1;当 mask 指定时,可以表示一组范围内的地址,比如:192.168.1.0/255.255.255.0

-d

--destination address/mask:地址格式同上,但这里指定地址为目的地址,按此进行过滤

-i

--in-interface name:指定数据包的来自来自网络接口,比如最常见的 eth0 。注意:它只对 INPUT,FORWARD,PREROUTING 这三个链起作用。如果没有指定此选项, 说明可以来自任何一个网络接口。同前面类似,"!" 表示取反

-o

--out-interface name:指定数据包出去的网络接口。只对 OUTPUT,FORWARD,POSTROUTING 三个链起作用

-L

--list [chain] 列出链 chain 上面的所有规则,如果没有指定链,列出表上所有链的所有规则

-A

--append chain rule-specification:在指定链 chain 的末尾插入指定的规则,也就是说,这条规则会被放到最后,最后才会被执行。规则是由后面的匹配来指定

-I

--insert chain [rulenum] rule-specification:在链 chain 中的指定位置插入一条或多条规则。如果指定的规则号是1,则在链的头部插入。这也是默认的情况,如果没有指定规则号

-D

--delete chain rule-specification -D, --delete chain rulenum:在指定的链 chain 中删除一个或多个指定规则

-R num

Replays替换/修改第几条规则

-P

--policy chain target :为指定的链 chain 设置策略 target。注意,只有内置的链才允许有策略,用户自定义的是不允许的

-F

--flush [chain] 清空指定链 chain 上面的所有规则。如果没有指定链,清空该表上所有链的所有规则

-N

--new-chain chain 用指定的名字创建一个新的链

-X

--delete-chain [chain] :删除指定的链,这个链必须没有被其它任何规则引用,而且这条上必须没有任何规则。如果没有指定链名,则会删除该表中所有非内置的链

-E

--rename-chain old-chain new-chain :用指定的新名字去重命名指定的链。这并不会对链内部照成任何影响

-Z

--zero [chain] :把指定链,或者表中的所有链上的所有计数器清零

-j

--jump target <指定目标> :即满足某条件时该执行什么样的动作。target 可以是内置的目标,比如 ACCEPT,也可以是用户自定义的链

-h

显示帮助信息

关闭firewalld,开启iptables

systemctl stop firewalld

systemctl start iptables

ssh服务端口22,dns服务53,httpd服务80,chrony服务323,nfs服务111

1.iptables: 开启防火墙:可以正常使用ssh服务,dns服务, httpd服务,chrony服务, nfs服务

iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -I INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -I INPUT -p udp --dport 323 -j ACCEPT
iptables -t filter -I INPUT -p udp -m multiport --dports 2049,111 -j ACCEPT

[root@zhaoyixuan ~]# iptables -vnL --line-numbers

 

2.firewalld: 开启防火墙:可以正常使用ssh服务,dns服务, httpd服务,chrony服务, nfs服务 且实现:访问第一台机器web服务的9090端口,转发到第二台机器的80端口(永久生效)

iptables -F #清空所有的规则表

关闭iptables,开启firewalld

systemctl stop iptables

systemctl start firewalld.service //开启firewalld服务

systemctl status firewalld.service //查看firewalld服务的状态

配置策略

firewall-cmd --add-service=ssh //设置允许ssh服务的流量通过

firewall-cmd --add-service=dns //设置允许dns服务的流量通过

firewall-cmd --add-service=http //设置允许http服务的流量通过

firewall-cmd --add-service=nfs //设置允许nfs服务的流量通过

查看支持:

[root@zhaoyixuan ~]# firewall-cmd --list-all

访问第一台机器web服务的9090端口,转发到第二台机器的80端口(永久生效)

首先要开启防火墙伪装

[root@zhaoyixuan ~]# firewall-cmd --add-masquerade --permanent
添加转发规则,转到130的80上

firewall-cmd --add-forward-port=port=9090:proto=tcp:toport=80:toaddr=192.168.222.130 --permanent

重新加载

firewall-cmd --reload

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值