登录网关7000
角色网关7100
游戏网关7200 7300 7400 这里可以很多个网关
目前开外网一般都是服务器直接开地址就是外网地址,但是这样有个弊端,很多时候,vps购买的性能不足以开服,甚至连Windows都没免费的
我自己购买了一个华为云,100不到一年多送一个月的那种,只支持Linux免费,Windows好像是需要收费的按时间
于是有了现在的文章,贫穷的我使用端口转发到家里机器通讯达到开服测试的目的,目的在于探讨端口转发,不是宣传游戏
服务器环境
外网地址:121.37.187.195
内网地址:192.168.0.25 这个怎么看,使用ifconfig 或者ssh连接到服务器,netstat -ant 查看
openVPN:网关地址:10.8.0.1
客户端环境:
内网地址:可以忽略
openvpn客户端连接到服务器获取的地址:10.8.0.6
游戏端口因为官方貌似屏蔽了7000端口,所以我测试了一下2000端口是可以的于是就把游戏端口改成
7000->2000
7100->2100
7200->2200
游戏服务端设置外网地址:为服务器外网地址:121.37.187.195
服务端设置 登录网关7000->2000 角色网关7100->2100 游戏网关7200->2200
做好环境后基本的游戏连接流程为
客户端登录器->连接 更新服务器端口121.37.187.195:80 更新列表,这个可以直接服务端弄一个web80端口的就可以
客户端登录器->连接网关:服务器外网地址和端口 121.37.187.195:2000
连接成功,可以注册账号,改密码
然后点击登录游戏
客户端游戏窗口->2100 这里可以到登录界面了 可以创建角色
点击进入按钮,到了角色创建界面 点击登录游戏
客户端游戏网关->2200 进入游戏
服务端端口中转的流程
接到登录器121.37.187.195:80 更新列表 和121.37.187.195:2000登录网关后
服务器接受到的端口为 服务器内网地址:端口 192.168.0.25:2000
然后我们把这个服务器内网地址和端口 192.168.0.25:2000 转发到 客户端地址 10.8.0.6:2000
然后我们把这个服务器内网地址和端口 192.168.0.25:2100 转发到 客户端地址 10.8.0.6:2100
然后我们把这个服务器内网地址和端口 192.168.0.25:2200 转发到 客户端地址 10.8.0.6:2200
关于openVPN的文章一大堆自己搜索或者私密我了
防火墙规则
okok 本地端口2000转发到其他机器2000
iptables -t nat -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -A POSTROUTING -s 0/0 -j MASQUERADE
iptables -t nat -A PREROUTING -d 192.168.0.25 -p tcp --dport 2000 -j DNAT --to 10.8.0.6:2000
iptables -t nat -A POSTROUTING -d 10.8.0.6 -p tcp --dport 2000 -j MASQUERADE
iptables -t nat -A PREROUTING -d 192.168.0.25 -p tcp --dport 2100 -j DNAT --to 10.8.0.6:2100
iptables -t nat -A POSTROUTING -d 10.8.0.6 -p tcp --dport 2100 -j MASQUERADE
iptables -t nat -A PREROUTING -d 192.168.0.25 -p tcp --dport 2200 -j DNAT --to 10.8.0.6:2200
iptables -t nat -A POSTROUTING -d 10.8.0.6 -p tcp --dport 2200 -j MASQUERADE
by:K天时