当前位置: 首页 > news >正文

firewalld实现NAT端口转发

1、准备工作

# 开启 NAT 转发

firewall-cmd --permanent --zone=public --add-masquerade

# 开放 DNS 使用的 80 端口,tcp# 必须,否则其它机器无法进行域名解析

firewall-cmd --zone=public --add-port=80/tcp --permanent

# 检查是否允许 NAT 转发

firewall-cmd --query-masquerade# 禁止防火墙 NAT 转发

firewall-cmd --remove-masquerade 

2、NAT端口转发

端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。转发的目标如果不指定ip的话就默认为本机,如果指定了ip却没指定端口,则默认使用来源端口。

2.1将80端口的流量转发至8080

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

2.2将80端口的流量转发至192.168.0.1

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1 --permanent

2.3将80端口的流量转发至192.168.0.1的8080端口

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 --permanent

注意:nat端口转发完以后,一定要用“firewall-cmd --reload”重新加载配置才会真正的生效。

“--permanent”代表永久的意思,重启后同样会生效。

如果配置完以上规则后仍不生效,检查防火墙是否开启80端口,如果80端口已开启,仍无法转发,可能是由于内核参数文件sysctl.conf未配置ip转发功能,具体配置如下:

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1 

保存文件后,输入命令:“sysctl -p”   生效!

3、关闭NAT端口转发

#查看状态:

firewall-cmd --state

#删除开放的80端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent

#删除nat端口转发(本机80转到192.168.0.1:8080)

firewall-cmd --remove-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 --permanent

#列出所有的规则

firewall-cmd --list-all

http://www.lryc.cn/news/442168.html

相关文章:

  • 中国电子学会202309青少年软件编程(Python)等级考试试卷(二级)真题
  • 第四天旅游线路预览——从贾登峪到喀纳斯景区入口(贾登峪游客服务中心)
  • 个人常用命令
  • 如何根据协议请求去捕捉在个文件中发出去的
  • Lombok -----此java库 常用的注解及其功能总结
  • 纯前端表格导出Excel
  • sourceTree保姆级教程7:(合并某次提交)
  • JVM面试知识点手册
  • Vue3.0组合式API:使用reactive()、ref()创建响应式代理对象
  • kubernetes调度2
  • Android中如何处理运行时权限?
  • 【PyCharm】PyCharm:让开发者效率倍增的编程利器
  • Spring Boot- 配置中心问题
  • 字符串专题-1
  • Unsupervised Deep Representation Learning for Real-Time Tracking
  • 第二讲 数据结构
  • docker部署excalidraw画图工具
  • 5G技术对IT行业的影响及未来发展
  • 字节跳动的微服务独家面经
  • 嵌套函数的例子(TypeScript)
  • 0915,SOCKET网络编程部分,三种I/O多路复用模型(select ,poll,epoll)
  • HarmonyOS 应用获取公钥和 MD5 指纹签名信息
  • 封装一个录音声音振动效果的组件
  • Java、JS与Go的扩展操作符,揭秘它们的‘魔法’!
  • ROS学习笔记13——rosbag功能包的简单使用
  • Python Flask网页开发基本框架
  • Mybatis-plus进阶篇(五)
  • 交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
  • 【QT】定时器使用
  • 虚拟机:3、(待更)WSL2安装Ubuntu系统+实现GPU直通