34.linux中防火墙iptables的使用

linux中防火墙的使用
文章目录
1. 什么是
(网络过滤器)是一个工作于用户空间的防火墙应用软件,是与3.5版本Linux内核集成的IP信息包过滤系统 。如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好地控制IP信息包过滤和防火墙配置 。
是用来设置、维护和检查Linux内核的IP包过滤规则的 。它可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链 。每个链都是一个规则列表,对对应的包进行匹配 , 每条规则指定应当如何处理与之相匹配的包 。这被称作""(目标),也可以跳向同一个表内的用户定义的链 。
2. 的基本命令管理
实验准备:
1. 作为服务器端,配置为双网卡主机:
eth0:172.25.254.114
eth1: 192.168.0.114
2. 测试端:eth0: 192.168.0.214
3. 真机测试端:ip:172.25.254.14
在服务器端配置好yum源
实验步骤:
在服务器端:
安装服务
发现这个服务已经安装好,开启服务, 并且设置为开机启动
-nL # 表示不做解析列出防火墙策略
-L # 表示做解析列出防火墙策略
-t # 表示列出指定表的策略信息,不加-t默认为
保存策略方法一
保存策略方法二
-A #将策略追加在已经存在的表后面,按顺序执行(第一个符合行为后便不会读取第二个)
添加策略允许ip为172.25.254.15的主机通过ssh服务连接进服务器

34.linux中防火墙iptables的使用

文章插图
-I #插入 加数字表示添加的位置 默认为1 , 表示插入到最前边
-R #替换规则要加数字(将172.25.54.250的规则修改为丢弃)
-D #删除第二条规则
-N # 添加新链名称为
-E #重命名链(将名称为的链重命名为)
-X #删除链
-P # 修改 DROP不能修改为 链的默认属性
清除策略(刷新服务后,原策略会恢复)
-j #行为动作
-S #查看策略详细信息,包括操作
-Z # 清除数据包
3. 的地址伪装(SNAT)和端口转发(DNAT) 3.1 的SNAT和DNAT含义
SNAT和DNAT(由连接的发起者是谁来区分)
源地址转换:SNAT内部地址要访问公网上的服务时(如web访问) , 内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部 。
目的地址转换:DNAT当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布 。
3.2 的权限策略编写
实验题目要求:新建火墙策略:squid+sshd+dns
举一个生活中的例子:去电影院看电影的时候 , 第一次用户需要检票入?。糁型居惺吕肟斯塾疤? ,在电影结束前还可以凭票根再次入场,无需重新再次检票
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT#建立过状态和建立完成中途断开重新连接的都允许iptables -A INPUT -m state --state NEW -i lo -j ACCEPT#通过回环接口的所有数据都接收iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT#允许ssh服务iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT#允许dns服务iptables -A INPUT -m state --state NEW -p tcp --dport 3128 -j ACCEPT##允许squid服务iptables -A INPUT -j REJECT#拒绝其他主机通过任何服务连接iptables -nL#查看新建的火墙策略
查看火墙策略
不做解析查看策略
可以看到,已经成功添加ssh, squid和dns服务进策略信息
将新建的策略保存
-save > /etc//
刷新
-F
重启服务
再次查看策略信息依然存在
3.3 的SNAT 源地址转换(—地址伪装)
>/etc/sysconfig/iptables#清空策略信息iptables -nL#查看策略信息已经不存在`这个实验必须开启路由功能 `
-t nat -nL #查看nat表的策略
iptables -t nat -A POSTROUTING-o eth0 -j SNAT --to-source 172.25.254.114#把要从eth0出去的数据的源地址改为172.25.254.114iptables -t nat -nL
将192.168.0.214测试机网关设为192.168.0.114
route -n #查看网关
把要从eth0出去的数据的源地址改为172.25.254.114
-t nat -nL #查看是否添加策略(必不可少)
在虚拟机进行测试:
ping 172.25.254.14,发现可以ping通(如果不添加网关,则无法ping通)
3.4 的DNAT 源地址转换(—端口转发)
iptables -t nat -A PREROUTING-i eth0 -p tcp --dport 22 -j DNAT --to-dest 192.168.0.214:22 #从eth0的22端口进来的数据 , 目的地转为 192.168.0.214的22端口iptables -t nat -nL
将从eth0的22端口进来的数据,目的地转为 192.168.0.214的22端口
-t nat -nL #查看是否添加策略(必不可少)
在真机端进行测试:
ssh root@172.25.254.114 输入的密码是转到的ip的主机密码
【34.linux中防火墙iptables的使用】查看登陆服务器的ip为192.168.0.214, 端口转发成功