Linux中的火墙 - iptables
- 1.火墙介绍
- 2.火墙管理工具切换
- 3.iptables 的使用
- 4.火墙默认策略
- 5.iptables命令
1.火墙介绍
1.火墙技术
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络与其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
2.作用
防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。
3.火墙工具
1. firewall
2. iptables
它其实不是真正的防火墙,可以将其理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的“安全框架”中,这个安全框架才是真正的防火墙,这个框架的名字就是netfilter。
- 注:netfilter 真正的防火墙,位于内核空间。
2.火墙管理工具切换
在rhel8中默认使用的是firewalld
dnf install iptables-services -y
1.firewalld----->iptables
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable --now iptables
2.iptales -------> fiewalld
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl enable --now firewalld
3. iptables 的使用
1.iptables 策略记录文件
/etc/sysconfig/iptables
2.永久保存策略
- iptales-save > /etc/sysconfig/iptables
- service iptables save
注:两条命令效果一样
4.火墙默认策略
1. 默认策略中的5条链
命令 | 功能 |
---|---|
input | 输入 |
output | 输出 |
forward | 转发 |
postrouting | 路由之后 |
prerouting | 路由之前 |
2. 默认的3张表
命令 | 功能 |
---|---|
filter | 经过本机内核的数据(input output forward) |
nat | 不经过内核的数据(postrouting,prerouting,input,output) |
mangle | 当filter和nat表不够用时使用(input output forward postrouting,prerouting,) |
3. iptables命令
- a. iptables
命令 | 功能 |
---|---|
-t | 指定表名称 |
-n | 不做解析 |
-L | 查看 |
-A | 添加策略 |
-p | 协议 |
-s | 来源 |
-j | 动作 |
-N | 新建链 |
-E | 更改链名称 |
-X | 删除链 |
-D | 删除规则 |
-I | 插入规则 |
-R | 更改规则 |
-P | 更改默认规则 |
–dport | 目的地端口 |
- 注:
iptables -j
命令 | 功能 |
---|---|
ACCEPT | 允许 |
DROP | 丢弃 |
REJECT | 拒绝 |
SNAT | 源地址转换 |
DNAT | 目的地地址转换 |
4. 数据包状态
状态 | 功能 |
---|---|
RELATED | 建立过连接的 |
ESTABLISHED | 正在连接的 |
NEW | 新的 |
5. nat表中的dnat snat
- 双网卡机ip(rhel8.1):
192.168.43.101
172.25.254.10 - 192的测试机ip(test):
192.168.43.100 - 192的测试机ip[(rhel8.2):
172.25.254.11
rhel8.1
-
snat
iptables -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.43.100 -
dnat
iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.11
rhel8.2
test: