中转服务器是什么?如何设置服务器中转?
一、中转服务器是什么?定义
中转,顾名思义,就是用一台优质中转服务器中转目的服务器,优化用户端到目的服务器的链路,形成用户→中转服务器→目的地服务器的网路链路,简单来说就是通过中转服务器优化用户端到目的服务器的路由。
二、意义
某些运营商,比如长城宽带、鹏博士宽带这种二级运营商,自己没有出口带宽,靠租上级运营商的带宽过活,人一多就拥挤。即便是电信、联通、移动这三大运营商,民用级的国际出口带宽在高峰时也如同万人挤独木桥,非常拥堵,导致大家平常玩游戏时经常遇到高延迟、高丢包的现象。相对的,BGP线路就会宽松很多,利用中转,用户端可以直接从国内走企业级国际出口,相当于出国的VIP绿色通道,避免和别人争那个本来就不多的民用出口,大大降低延迟和丢包。
三、设置
主要是中转服务器的设置,系统不一样步骤可能不同,这里以Ubuntu16.04为例,大家可以根据自己的系统相应修改。
中转效果受中转服务器的质量影响,比如中转服务器带宽为1Mbps,那么中转之后,用户端到目的服务器的最高速度也不会超过1Mbps,因此尽量找一台质量好的中转服务器。
1、开启转发功能
- $sudovim/etc/sysctlonf
删除net.ipv4.ip_forward=1前的注释符号#,如果支持IPv6,则应一并删除net.ipv6onf.all.forwarding=1前的注释符号#,修改后大致如下:
- ......
- #UncmentthenextlinetoenablepacketforwardingforIPv4
- net.ipv4.ip_forward=1
- #UncmentthenextlinetoenablepacketforwardingforIPv6
- #EnablingthisoptiondisablesStatelessAddressAutoconfiguration
- #basedonRouterAdvertisementsforthishost
- net.ipv6onf.all.forwarding=1
- ......
运行命令使其生效:
- $sudosysctlp
2、设置iptables转发
- $sudoiptablestnatAPREROUTINGptcpmtcpdport[本地端口]jDNATtodestination[目的IP]:[目的端口]
- $sudoiptablestnatAPREROUTINGpudpmudpdport[本地端口]jDNATtodestination[目的IP]:[目的端口]
- $sudoiptablestnatAPOSTROUTINGptcpmtcpd[目的IP]dport[目的端口]jSNATtosource[本地IP]
- $sudoiptablestnatAPOSTROUTINGpudpmudpd[目的IP]dport[目的端口]jSNATtosource[本地IP]
- $sudoiptablessave>/etc/iptables.up.rules
注意点:
①本地IP:如果有私网,则应填私网IP,否则直接填公网IP;
②本地端口:中转服务器的端口;
3、验证
将服务器IP及端口修改成中转服务器的IP及端口,其他参数不变。
4、扩展一:查看及删除
①查看已设置的NAT规则:
- $sudoiptablestnatvnLPOSTROUTINGlinenumber
- $sudoiptablestnatvnLPREROUTINGlinenumber
②删除NAT规则中POSTROUTING的第一条规则:
- $sudoiptablestnatDPOSTROUTING1
③清空NAT规则中POSTROUTING所有规则:
- $sudoiptablestnatFPOSTROUTING
④将本地服务器的50000~65535转发至目标IP为1.1.1.1的50000~65535端口:
- $sudoiptablestnatAPREROUTINGptcpmtcpdport50000:65535jDNATtodestination1.1.1.1
- $sudoiptablestnatAPOSTROUTINGd1.1.1.1/32ptcpmtcpdport50000:65535jSNATtosource[本地IP]
5、扩展二:CentOS7利用firewalld中转
CentOS7建议使用自带的Firewall设置中转(使用iptables重启可能会失效),首先同样启用转发:
- #echo1>/proc/sys/net/ipv4/ip_forward
然后添加防火墙firewalld规则:
- #firewallcmdpermanentaddport=2333/tcp
- #firewallcmdpermanentaddport=2333/udp
- #firewallcmdpermanentaddmasquerade
- #firewallcmdpermanentaddforwardport=port=2333:proto=tcp:toport=6666:toaddr=1.1.1.1
- #firewallcmdpermanentaddforwardport=port=2333:proto=udp:toport=6666:toaddr=1.1.1.1
- #firewallcmdreload
其中,2333代表本地端口,6666表示目的端口,1.1.1.1表示目的IP,如果目的IP或目的端口相同,则toaddr或toport可省略。
如有中转服务器相关需求wW。
上一篇:大陆高防服务器怎么选择?