centos 防火墙转发

352 阅读2分钟

作用

  • 用于部分绕开部分网络限制,以及部分国外机器访问慢的问题

主要步骤

  • 云服务商安全组(防火墙)开启相关端口。
  • Firewalld 防火墙服务操作。
  • Firewalld 开启放行的端口。
  • Firewalld 流量转发。
  • 没有生效解决

云服服务器安全组

  • 阿里云、腾讯云,都有自己都安全组(防火墙),需要进行开放端口,具体看云厂商提供都面板。

Firewalld 防火墙服务操作

  • 查看 FireWalld systemctl status firewalld
  • 开启 FireWalld systemctl start firewalld
  • 关闭 FireWalld systemctl stop firewalld
  • 重启 FireWalld firewall-cmd --reload
  • 设置开机启动 FireWalld systemctl enable firewalld
  • 禁用开机启动 FireWalld systemctl disable firewalld
  • 查看开放的端口 firewall-cmd --list-ports

Firewalld 开启、关闭放行的端口

  • TCP 和 UDP 两种不同的类型,需要分别操作,并且都需要 Firewall 重启
  • 示例:80 端口开启 TCP 和 UDP
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=80/udp --permanent
firewall-cmd --reload
  • 示例:80 端口关闭 TCP 和 UDP
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=80/udp --permanent
firewall-cmd --reload

 Firewalld 流量转发

  • 开启防火墙伪装,开启后才能转发端口
firewall-cmd --add-masquerade --permanent
  • TCP 和 UDP 两种不同的类型,需要分别操作,并且都需要 Firewall 重启
  • 示例:本机的 1111 端口转发 TCP 和 UDP 流量到 1.1.1.1:2222 端口
firewall-cmd --add-forward-port=port=1111:proto=tcp:toaddr=1.1.1.1:toport=2222 --permanent
firewall-cmd --add-forward-port=port=1111:proto=udp:toaddr=1.1.1.1:toport=2222 --permanent
firewall-cmd --reload
  • 取消转发
firewall-cmd --remove-forward-port=port=1111:proto=tcp:toport=2222:toaddr=1.1.1.1 --permanent 
 firewall-cmd --remove-forward-port=port=1111:proto=tcp:toport=2222:toaddr=1.1.1.1 --permanent

没有生效解决

  • Firewalld 有没有重启?firewall-cmd --reload
  • 开启防火墙伪装,没有开启 firewall-cmd --add-masquerade --permanent
  • 执行命令书写错误?查看配置文件仔细核对 cat /etc/firewalld/zones/public.xml

总结

除了Firewalld 流量转发还有nginx也可以实现转发,nginx转发效率没有Firewalld 的效率高。