Ubuntu使用ufw防火墙实现端口转发
很多服务器往往对外网络不友好,在连接ssh和Windows远程桌面等操作时,需要借助另一台对内网络友好的服务器进行tcp转发,以达到优化连接质量。
Ubuntu默认防火墙是ufw,很多网上的资料,多数为卸载ufw安装iptables实现,那么想要保留ufw实现转发需要哪些操作呢?
1、修改 /etc/default/ufw,找到 DEFAULT_FORWARD_POLICY,修改为:
DEFAULT_FORWARD_POLICY="ACCEPT"
2、开启转发,修改 /etc/sysctl.conf,增加一行
net.ipv4.ip_forward=1
然后执行命令 sysctl -p 使其生效。
3、修改 /etc/ufw/before.rules,在 *filter 之前,加入以下这段:
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp -d $from_ip --dport $from_port -j DNAT --to-destination $to_ip:$to_port
-A POSTROUTING -j MASQUERADE
COMMIT
请把 f r o m i p 、 from_ip、 fromip、from_port、$to_ip 和 $to_port 变量修改为实际值,如:
-A PREROUTING -p tcp -m tcp -d 172.10.10.2 --dport 80 -j DNAT --to-destination 172.16.10.6:80
4、把相关端口打开
sudo ufw allow from any to any port $port
或
sudo ufw allow $port
请把 $port 变量修改为实际值
5、如果 ufw 未启动
sudo ufw enable
PS: 如果都沒有启动过,请选确定 ssh 端口已开放,不然就 ufw 一旦启动ssh就连不上了…
6、ufw 重新加载配置
sudo ufw reload
linux常用命令ubuntu转发命令ufwufw 端口转发ufw 转发ufw命令