windows 自带端口转发 centos 7 端口转发

firewall 常用操作

状态:# systemctl status firewalld 或者 firewall-cmd --state(查看防火墙开启关闭状态)
启动:# systemctl start  firewalld
停止:# systemctl stop firewalld
自启动:# systemctl enable firewalld (可让防火墙开机自启动,防火墙默认开机不启动的,需手动启动)
禁用:# systemctl disable firewalld

允许数据包转发

首先开启IP转发功能,默认是关闭的。
临时修改:

echo 1 >/proc/sys/net/ipv4/ip_forward
修改过后就马上生效,但如果系统重启后则又恢复为默认值0。

永久修改:
# 找到下面的值并将0改成1
vi /etc/sysctl.conf
# sysctl -p(使之立即生效)
net.ipv4.ip_forward = 1

windows 自带端口转发 centos 7 端口转发_第1张图片

端口转发命令

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent    # 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1 --permanent    # 将80端口的流量转发至192.168.0.1
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080 --permanent     # 将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --add-forward-port=port=58888:proto=tcp:toaddr=47.97.184.137:toport=80 --permanent # 将58888端口的流量转发至47.97.184.137的80端口
要删除之前设置的转发规则,把以上命令中的--add-forward-port改为--remove-forward-port运行一次即可。
firewall-cmd --permanent --zone=public --remove-forward-port=port=58888:proto=tcp:toaddr=47.97.184.137:toport=8888
firewall-cmd --reload
firewall-cmd --list-all #查询所有配置

参考
https://www.fzxm.cn/help/20210419213836001.html

使用Portproxy模式下的Netsh命令即能实现Windows系统中的端口转发,转发命令如下:

netsh interface portproxy add v4tov4 listenaddress=[localaddress] listenport=[localport] connectaddress=[destaddress]

listenaddress – 等待连接的本地ip地址
listenport – 本地监听的TCP端口(待转发)
connectaddress – 被转发端口的本地或者远程主机的ip地址
connectport – 被转发的端口

举个例子,服务器内网IP是172.16.0.4,需要将8080端口转发到国外服务器104.104.104.104的9999端口,那么命令如下:

netsh interface portproxy add v4tov4  listenaddress=172.16.0.4 listenport=8080 connectaddress=104.104.104.104 connectport=9999

上面这条命令有时不起作用,需要改为 0.0.0.0

netsh interface portproxy add v4tov4  listenaddress=0.0.0.0 listenport=8080 connectaddress=104.104.104.104 connectport=9999

下面的命令是用来展示系统中的所有转发规则:

netsh interface  portproxy show  v4tov4

删除刚才创建的那个转发的命令:

netsh interface  portproxy delete v4tov4 listenaddress=172.16.0.4 listenport=8080

该命令的常用参数如下:

netstat -ano | find listenport 查看是否启动成功
netsh interface portproxy show all 显示系统中的转发规则列表
netsh interface portproxy dump 查看portproxy设置
netsh interface portproxy delete v4tov4 listenport=localport listenaddress=localaddress
netsh interface portproxy reset 清除所有端口转发规则

参考
https://kekxv.github.io/2021/08/07/Port%20forwarding%20that%20comes%20with%20Windows/

你可能感兴趣的:(笔记,windows,windows,服务器,网络)