公司有一个香港vps,两台东南亚其他国家vps,有时候需要用到东南亚的ip来发布app,但是直接从国内访问比较慢,想从香港中转。
1.实现原理拓扑
2.HK-VPS安装ocserv
yum install epel-release
centos7 下面直接用
yum install ocserv -y
安装好ocserv,配置文件如下
1 |
|
config-per-group文件下面放这几个组配置的文件
HK Indonesia Singapore
cat HK
ipv4-network = 10.23.20.0/24
添加用户的时候加分组
ocpasswd -c /etc/ocserv/ocpasswd -g "HK,Indonesia" test
3.建立ip-tunnel
ip tunnel add Indonesia-tun mode ipip remote 103.200.2.100 local 45.199.10.100
ifconfig Indonesia-tun 10.23.1.1 netmask 255.255.255.0
ip tunnel add singapore-tun mode ipip remote 195.222.22.100 local 45.199.10.10
ifconfig singapore-tun 10.23.2.1 netmask 255.255.255.0
4.配置策略路由
ip route add default via 10.23.1.2 table 100
ip rule add from 10.23.20.0/24 table 100
ip route add default via 10.23.2.2 table 200
ip rule add from 10.23.30.0/24 table 200
5.NAT
HK走香港本地出去的,所以要对10.23.10.0/24做nat
iptables -t nat -A POSTROUTING -s 10.23.10.0/24 ! -d 10.23.0.0/16 -j SNAT --to-source 45.199.10.100
**iptables-save**
6.开启ip转发
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "0" > /proc/sys/net/ipv4/conf/indonesia-tun/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/singapore-tun/rp_filter
7.在海外服务器上配置(以Indonesia服务器为例子)
建立tunnel
ip tunnel add Indonesia-tun mode ipip remote 45.199.10.100 local 103.200.2.100 ifconfig Indonesia-tun 10.23.1.2 netmask 255.255.255.0
写路由
ip route add 10.23.20.0/24 via 10.23.1.2
Nat配置
iptables -t nat -A POSTROUTING -s 10.23.20.0/24 ! -d 10.23.0.0/16 -j SNAT --to-source 103.200.2.100
iptables-save
开启转发
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "0" > /proc/sys/net/ipv4/conf/indonesia-tun/rp_filter