Firewall的使用手记,端口转发

一直以来对Firewall感觉都不太好,因为小白时期让这东西没少折腾,但是近期发现Firewall的功能还是非常强大,有很多可以学习的东西。

对于端口转发这个需求,需要这样操作操:

 

1.首先放行端口,如果你有宝塔可以直接放,跳过这一步:

firewall-cmd --add-port=8800/tcp --permanent
firewall-cmd --add-port=8800/udp --permanent

2.开启一个意义不明的功能(伪装功能?),没它你不能端口转发:

firewall-cmd --add-masquerade --permanent

3.添加规则(这两个规则的意思是,将本机8800端口的UDP和TCP数据转发到1.1.1.1的9090上):

firewall-cmd --add-forward-port=port=8800:proto=udp:toaddr=1.1.1.1:toport=9090 --permanent
firewall-cmd --add-forward-port=port=8800:proto=tcp:toaddr=1.1.1.1:toport=9090 --permanent

4.重载规则,使其生效:

firewall-cmd --reload

5.如果你想要删除一个规则,相当于把add换成了romove,之后重载规则才生效:

firewall-cmd --remove-forward-port=port=8800:proto=udp:toaddr=1.1.1.1:toport=9090--permanent

6.一些常用的工具性命令

查看已有规则:firewall-cmd --list-all
查看开放端口:firewall-cmd --list-ports

 

还有一种带有zone的用法,我不太了解,先记录下吧:

firewall-cmd --permanent --zone=public --add-forward-port=port=533:proto=tcp:toport=3306:toaddr=1.1.1.1

 

firewall-cmd --permanent --zone=public --add-forward-port=port=533:proto=tcp:toport=3306:toaddr=1.1.1.1

 

最后,如果你始终不能转发成功,检查下这里

vi /etc/sysctl.conf

然后添加

net.ipv4.ip_forward = 1

保存后,使用sysctl -p使其生效。

 

如果后期想修改,但是觉得命令麻烦,可以直接访问/etc/firewalld/zones/public.xml修改,然后重启

firewall-cmd --complete-reload

 

 

 

评论

  1. 3 年前
    2020-12-23 11:06:09

    端口转发效率很低,远不如 Nginx Stream 转发

    • lark
      博主
      欧文斯
      3 年前
      2020-12-23 11:09:26

      Nginx Stream还没试过

      之前用过frp,体感下来和这个firewall这个效率差不多,不过firewall总体省事一点

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇