Linux中的防火墙(二)iptables

  • 企业7之前的版本没有firewalld这个软件
    只有企业7之后才有,3.x的内核以上才有,之前的版本只有iptables软件

准备工作:
将firewalld关闭锁定,打开iptables

systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld

systemctl unmask iptables
systemctl start iptables
systemctl enable iptables
iptables -nL 查看列表,默认表是filter表

在这里插入图片描述
在这里插入图片描述
1.iptables的基本操作

-F##刷新
save##保存当前的状态
-A##添加 只能添加在最后一行
-I##插入 默认在第一行插入
-R##替换 不将策略写完整会替换失败,
-D##删除
-P##修改默认的策略
-n##显示ip,不加-n会显示主机名,反向解析,PTR记录
-t##指定表的名称
-L##指定表中的策略
-p##网络协议
–dport##端口
-s##数据来源
-j##动作

(1) iptables -F -----> 刷新,之前的信息都没有了

iptables -F
iptables -nL

在这里插入图片描述

systemctl restart iptables

重启服务又会出现
在这里插入图片描述
(2) service iptables save ##保存当前的状态

iptables -F
iptables -nL
service iptables save	##保存当前的状态
systemctl restart iptables	## 重启服务后查看
iptables -nL 	##是保存之前查看到的状态

在这里插入图片描述
在这里插入图片描述
(3) iptables -P INPUT DROP ## 修改INPUT链的默认状态为丢弃
iptables -nL
在这里插入图片描述
测试:真实主机连接当前主机时不会有反响
在这里插入图片描述

iptables -P INPUT ACCEPT
iptables -nL

在这里插入图片描述
测试:真实主机连接当前主机时可以连接上
在这里插入图片描述
(4) -A ##添加

iptables -t filter -A INPUT -p tcp --dport 22 -j REJECT
iptables -nL

在这里插入图片描述
添加成功真实主机访问会被拒绝
在这里插入图片描述

iptables -t filter -A INPUT -p tcp --dport 22 -s 172.25.254.27 -j ACCEPT
##添加允许68主机连接
iptables -nL

在这里插入图片描述
测试添加成功,但真实主机还是无法连接,因为先读取第一行
在这里插入图片描述
(5) -D ##删除

iptables -D INPUT 2 ##删除第二行
iptables -nL 

在这里插入图片描述
删除成功

(6) -I ##插入到指定位置

iptables -t filter -I INPUT 1 -s 172.25.254.27 -p tcp --dport 22  -j ACCEPT
iptables -nL
插入成功

在这里插入图片描述
测试:真实主机可以连接上
在这里插入图片描述
(7) -R ##替换
iptables -t filter -R INPUT 1 -s 172.25.254.29 -p tcp --dport 22 -j ACCEPT
iptables -nL
替换成功
在这里插入图片描述
(8) -N ##添加链

iptables -N redhat
iptables -nL

添加成功
在这里插入图片描述
(9) -E ##修改链名

iptables -E redhat WESTOS
iptables -nL

修改成功
在这里插入图片描述
(10) -X ##删除链

iptables -X WESTOS
iptables -nL

删除成功
在这里插入图片描述
2.iptables的火墙伪装

1
1.1.1.227主机ping 172.25.254.68主机ping不通

[root@localhost ~]# ping 172.25.254.68

在这里插入图片描述
在这里插入图片描述
2 双网卡主机设置地址转换

[root@shenzhen Desktop]# iptables -t nat -nL
[root@shenzhen Desktop]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.127 
##意思是只要有人通过服务端的eth0网卡,就对他的ip做源地址转换,
将他的ip转换成 172.25.254.127(路由后的地址转换)

在这里插入图片描述
在这里插入图片描述
iptables -nL -t nat
添加成功
在这里插入图片描述
3 测试:
1.1.1.227主机再次 ping 172.25.254.68主机可以ping通
ssh 连接68主机,连接成功

[root@localhost Desktop]# ping 172.25.254.68
[root@localhost Desktop]# ssh root@172.25.254.68

在这里插入图片描述
在这里插入图片描述
4 连接之后w -i查看

[root@foundation68 ~]# w -i 
查看的是 172.25.254.127主机正在连接68主机,而这时真正连接68主机的是 1.1.1.227主机
[root@foundation68 ~]# ssh root@172.25.254.127连接

在这里插入图片描述
链接到的是127主机,但我们是想通过127主机连接真正连接68主机的 1.1.1.227主机
要做到这一步的话需要做端口转发
在这里插入图片描述
在这里插入图片描述
3.端口转发

1 双网卡主机做目的地地址转换

[root@shenzhen Desktop]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 1.1.1.227
##意思是只要有人要通过有路由功能的主机的eth0网卡,
就对这个ip做目的地地址转换,将自己的22端口转发给 1.1.1.227 这台主机
[root@shenzhen Desktop]# iptables -t nat -nL

查看添加成功
在这里插入图片描述
2 测试

[root@foundation68 ~]# ssh root@172.25.254.127
[root@localhost ~]# ifocnfig

##连接上68主机的 1.1.1.227主机,用68主机来连接查看到的ip 172.25.254.127
连接成功,连接之后查看ip,查看到的是真正连接68的主机的ip即 1.1.1.227(路由前的地址转换)
在这里插入图片描述
在这里插入图片描述
*iptables和firewalld的区别
做完端口转发之后iptables的客户端可以连接到68主机,不会出现跳转到自己的情况
这里做的是源地址转换
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值