御风灰灰
发布于 2024-07-11 / 9 阅读
0
0

linux防火墙

1. 说明

Linux的防火墙客户都安主要由 iptabless和firewalld两种。

2. firewalld防火墙

2.1 ubuntu安装

sudo apt install firewalld

2.2. 基本应用

2.2.1 常用命令

# 显示版本 
firewall-cmd --version

# 显示状态
firewall-cmd --state

# 查看当前所有规则
firewall-cmd --list-all

# 更新防火墙策略
firewall-cmd --reload

2.2.2 防火墙控制命令

# 启动防火墙
systemctl start firewalld.service

# 停止防火墙
systemctl stop firewalld.service

# 重启防火墙
systemctl restart firewalld.service

# 查看防火墙状态
systemctl status firewalld.service

#启用-开机自启
systemctl enable firewalld.service

2.3 端口操作

# 查看端口
firewall-cmd --zone=public --list-ports

# 开启端口 (permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent 

# 查看端口是否开放
firewall-cmd --zone=public --query-port=80/tcp

# 删除开放端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent

# 批量开放端口
firewall-cmd --permanent --add-port=9001-9100/tcp

# !!! 需要执行这条命令
firewall-cmd --reload

3. iptabless防火墙

3.1 安装与卸载

  1. 卸载iptabless

    sudo apt remove iptables iptables-persistent
    
  2. 安装iptabless

    sudo apt install iptables iptables-persistent
    

3.2 常用操作

3.2.1 清空所有规则

针对防火墙状态混乱,异常情况下。

sudo iptables -F 
sudo iptables -X 
sudo iptables -t nat -F 
sudo iptables -t nat -X 
sudo iptables -P INPUT ACCEPT 
sudo iptables -P OUTPUT ACCEPT 
sudo iptables -P FORWARD ACCEPT

3.2.2 实现nat上网

# wlo1是出口网卡 enx26d87c7bdddc 是输入接口
sudo iptables -t nat -A POSTROUTING -o wlo1 -j MASQUERADE
sudo iptables -A FORWARD -i enx26d87c7bdddc -o wlo1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlo1 -o enx26d87c7bdddc -j ACCEPT

3.2.3 实现端口转发

# 转发本地的 12222端口到 192.168.99.1:22
sudo iptables -t nat -I PREROUTING -p tcp --dport 12222 -j DNAT --to-destination 192.168.99.1:22
sudo iptables -t nat -I POSTROUTING -p tcp --dport 22 -d 192.168.55.1 -j MASQUERADE

评论