linux中的火墙策略优化
程序员文章站
2024-02-26 20:53:46
...
实验环境:
真实主机 172.25.254.25
虚拟机a 需要双网卡 设置两个ip 172.25.254.125 172.25.25.125
虚拟机b 单网卡172.25.25.225 GATEWAY 172.25.25.125
火墙介绍
netfilter
iptables
iptables|firewalld
火墙管理工具切换
在rhel8中默认使用firewalld
firewalld------>iptables
dnf install iptables-services -y
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable --now iptables
iptables------->firewalld
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl unmask firewalld
systemctl enable --now firewalld
iptables的使用
火墙策略的永久保存:/etc/sysconfig/iptables
永久保存策略命令:
iptables-save > /etc/sysconfig/iptables
service iptables save
火墙默认策略:
五条链 input output forward postrouting prerouting
三张表 filter nat mangle
iptables命令
iptables
-t 指定表名称 否则默认filter
-F 清空表中所有链的内容(重启后服务后恢复,需要保存)
-n 不做解析
-L 查看
-A 添加策略
-j 动作 ACCEPT REJECT DROP SNAT DNAT
-D 删除规则
-I 插入规则
-R 更改规则
-P 更改默认规则
-N 新建链
-X 删除链
-E 更改链名
-p 协议 例tcp
--dport 目的地端口 例如ssh端口22
-s 来源 例如172.25.254.0/24 网段
数据包状态
RELATED 建立过连接的
ESTABLISHED 正在连接的
NEW 新的
iptables -F
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 ! -s 172.25.254.25 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -j REJECT
iptables -nL
service iptables save
在真实主机172.25.254.25测试
在虚拟机172.25.254.225测试
iptables -t nat -nL
iptables -t nat -A POSTROUTING -o ens3 -j SNAT --to-source 172.25.254.125
sysctl -a |grep ip_forward
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
虚拟机b ssh -l root 172.25.254.25
真实主机 w -i查询
得在真机设定网关
iptables -t nat -A PREROUTING -i ens3 -j DNAT --to-dest 172.25.25.225