首页 > 编程知识 正文

ubuntu系统防火墙策略,ubuntu查看防火墙放行端口

时间:2023-05-03 08:52:01 阅读:271918 作者:1787

参考文档:
《Ubuntu 防火墙IP转发做NAT,内网集群共享网络(简单)》

《focal (8) ufw-framework.8.gz手册》
项目需要一台路由器以实现NAT共享访问外网和端口映射访问内网,索性用ubuntu20.04服务器使用ufw防火墙实现功能。

1 需求

硬件:至少两个网口的服务器
软件:ubuntu 20.04+ufw
名词解释:
ip伪装:在ubuntu里,nat被称为ip伪装,意为“允许来自内网口eno1上使用私网地址(如10.0.0.0/20)的计算机共享外网口eno2上的单个IP地址”
端口重定向:要将外网口eno2上的某个端口转发到位于内网地址10.0.0.X上的某个端口,比如将外网口eno2上的tcp端口80转发到位于10.0.0.3的Web服务器。

2 UFW基本操作:

2.1 查看当前状态和防火墙规则

ufw status    #Status: active 服务激活;如果没有配置规则,将不显示防火墙规则

2.2 设置默认动作

ufw default allow/deny    #对未配置的端口执行默认允许/拒绝动作

2.3 添加允许/拒绝端口的规则

ufw allow 22/tcp    #允许 22 tcp封包;还可以换成 22/udp,表示允许22端口 udp封包 ufw deny 22       #拒绝 22 端口 (udp+tcp)

2.4 删除允许/拒绝端口的规则

ufw delete allow/deny 20    #删除规则同添加一致 添加 22/tcp就删除 22/tcp,不能删除 22

2.5 启动/关闭/重载防火墙
通过ssh远程连接建议先设置 22/tcp允许规则再启动防火墙服务

ufw enable/disable/reload 3 防火墙配置转发

3.1 首先开启系统的IP转发

vim /etc/sysctl.confnet.ipv4.ip_forward = 1    #增加或修改该字段,值设为1

3.2 生效

sysctl -p

3.3 设置防火墙的转发(修改俩个配置文件)
3.3.1 修改 /etc/default/ufw

vim /etc/default/ufwDEFAULT_FORWARD_POLICY="ACCEPT"    #该值设为ACCEPT

注意:
# 默认规则内容都包含在 *filter…COMMIT 内
# 添加如下内容时注意 *nat…COMMIT 不能放在 *filter…COMMIT 内
#10.0.0.0/20是内网网段

3.3.2 修改 /etc/ufw/before.rules

vim /etc/ufw/before.rules#在末尾增加以下字段*nat:PREROUTING - [0:0]:POSTROUTING - [0:0]-A POSTROUTING -s 10.0.0.0/20 -o eno2 -j MASQUERADECOMMIT

3.3.3 重启防火墙,成功

ufw disableufw enable 4 设置端口重定向: 4.1 将外网口eno2上的tcp端口80转发到位于10.0.0.3的Web服务器


4.1.1编辑/etc/ufw/sysctl.conf

vim /etc/ufw/sysctl.confnet.ipv4.ip_forward=1

4.1.2编辑 /etc/ufw/before.rules,并在nat段里增加

vim /etc/ufw/before.rules-A PREROUTING -p tcp -i eno2 --dport 80 -j DNAT --to-destination 10.0.0.3:80

4.1.3 增加ufw规则

ufw route allow in on eno2 to 10.0.0.3 port 80 proto tcpufw allow 80

删除以上ufw添加的从eno2口进来并转发到10.0.0.3端口80的数据:
ufw route delete allow in on eno2 to 10.0.0.3 port 80 proto tcp
拒绝从eno2口进来转发到主机10.0.0.3端口22的数据:
ufw route reject in on eno2 to 10.0.0.3 port 80

4.1.4 重启ufw

ufw reload 4.2 将62022端口转发到10.0.0.3的22端口

4.2.2编辑 /etc/ufw/before.rules,并在nat段里增加

-A PREROUTING -p tcp -i eno2 --dport 62022 -j DNAT --to-destination 10.0.0.3:22

4.2.3 增加ufw规则

ufw route allow in on eno2 to 10.0.0.3 port 22ufw allow 62022

4.2.4 重启ufw

ufw reload 5 修改ssh端口为64422 5.1 修改/etc/ssh/sshd_config vim /etc/ssh/sshd_configport 22port 64422 5.2 重启ssh服务 service ssh restart 5.3 修改ufw ufw allow 64422 5.4 重启ufw ufw reload 5.5 ssh 新端口64422 5.6 成功后再修改/etc/ssh/sshd_config vim /etc/ssh/sshd_config#port 22 5.7 重启ssh服务 service ssh restart 6 手动清除nat映射

iptables -F -t nat

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。