各个公有云的服务器开始打折啊,阿里云99元一年2C2G3M固定带宽,腾讯云99元一年2C2G4M带宽(但是有每月300GB流量限制),虽然我喜欢华为云,但耐不住华为云实在是不给优惠啊。不过我云服务器续费续到了2026年了。开通两个新节点吧,说不定后面干啥会用上。
这样的话,加上杭州和上海两个自己的内网节点,就有五个区域了,尝试下多云组网?说干就干吧。先规划一下网络分段和节点职能,考虑到后续有可能讲所有的节点的子网连接成一个大内网,所以各个网段必须不能冲突。
杭州家里,为了减少给普通设备带来的困扰,就用路由器普遍默认的192.168.0.0的网段,其他几个节点进行分段。
这里说一个插曲,把阿里云和腾讯云的打折服务器买完,发现腾讯云有猫腻,不仅仅是流量限制了每月300GB(虽然我用不完),而且功能缩减了不少,比如IP地址不允许变更。阿里云和华为云都是可以自己变更内网网段和IP地址的。所以腾讯云的IP地址,就是买来是啥我就用啥了,他还流量受限。
那那他当VPN SERVER吧,以后主入口登录就从他这里登录了。我自己折腾,300GB够了,又不对外服务。于是,就有了如下的网络划分和规划表。
区域 | 内网IP | 职能 | VPN-IP | 备注 |
华为云-上海 | 192.168.20.21 | 外网主节点 | 192.168.42.101 | |
阿里云-杭州 | 192.168.21.0 | 外网辅节点 | 192.168.42.102 | |
腾讯云-广州 | 10.1.12.4 | VPN SERVER入口 | 192.168.42.1 | |
杭州机房 | 192.168.0.0 | 主机房 | 192.168.42.103 | NAS存储,博客服务器 |
上海机房 | 192.168.10.0 | 辅机房 | 192.168.42.104 | PC SERVER计算资源池 |
然后我们是这样打算的,腾讯云广州节点作为VPN-SERVER,其他节点作为CLIENT,都拨入到腾讯云节点。这样以后,我自己的笔记本,通过VPN也拨入到腾讯云广州节点,就成为大内网的一部分了,从腾讯云广州节点,可以非常方便的访问其他各个节点。
实现了这个阶段之后呢,以后有空可以折腾下内网全互联,让杭州机房和上海机房内部的设备相关访问,都通过本机房的VPN节点转发。这样就不仅仅是拨入VPN的节点,而是所有的五个内网子网全部互联。那用着还是会方便更多的。
而且安全性好啊。
基于这个可以把其他不必要的公网入口全部关闭,自己想用的时候,通过VPN拨入腾讯云中枢节点,进入内网。除了此入口,没有其他任何的意外端口暴露。比现在可让我放心多了。
备注:所有服务器节点使用centos7.9版本
1、腾讯云服务器安装VPN SERVER
详细的安装步骤不展开,大家自行百度。需要说明的是,因为我们需要保证后续的网络结构,因此对于每个VPN-CLIENT,需要配置固定IP。
1)编辑 VPN 服务器上的 /etc/xl2tpd/xl2tpd.conf
。将 ip range = 192.168.42.10-192.168.42.250
替换为比如 ip range = 192.168.42.10-192.168.42.
99。这样可以缩小自动分配的 IP 地址池,从而使更多的 IP 可以作为静态 IP 分配给客户端。
2)编辑 VPN 服务器上的 /etc/ppp/chap-secrets
。例如,文件内容:
“vpnuser” l2tpd “password” *
“node-hw” l2tpd “password” 192.168.42.101
“node-ali” l2tpd “password” 192.168.42.102
最后一列,就是我们为每个VPN用户指定的固定IP地址
2、华为云服务器安装VPN-CLIENT
yum install epel-release
yum --enablerepo=epel install strongswan xl2tpd net-tools
开始配置VPN-CLIENT,不展开,按照正常安装配置步骤搞即可。需要说一下启动过程。
创建控制文件
mkdir -p /var/run/xl2tpd
touch /var/run/xl2tpd/l2tp-control
重启服务
service strongswan restart
service xl2tpd restart
开启IPSec
strongswan up myvpn
拨号
echo "c myvpn" > /var/run/xl2tpd/l2tp-control
查看接口列表,有ppp0,成功
[root@ecs-4bf3 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.20.21 netmask 255.255.255.0 broadcast 192.168.20.255
inet6 fe80::f816:3eff:fe89:f5f6 prefixlen 64 scopeid 0x20<link>
ether fa:16:3e:89:f5:f6 txqueuelen 1000 (Ethernet)
RX packets 71342 bytes 16857354 (16.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 68052 bytes 16260760 (15.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 12 bytes 946 (946.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 946 (946.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet 192.168.42.101 netmask 255.255.255.255 destination 192.168.42.1
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 3 bytes 54 (54.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3 bytes 54 (54.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3、同理配置阿里云节点,原先为alibaba操作系统,我们更换为了centos7.9,依次配置,直到拨号成功。
[root@iZbp1dlg2my90omu0sb8nuZ ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.21.21 netmask 255.255.255.0 broadcast 192.168.21.255
inet6 fe80::216:3eff:fe0a:7ca8 prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:0a:7c:a8 txqueuelen 1000 (Ethernet)
RX packets 59834 bytes 86519474 (82.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6900 bytes 902951 (881.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet 192.168.42.102 netmask 255.255.255.255 destination 192.168.42.1
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 3 bytes 54 (54.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3 bytes 54 (54.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
然后我们在腾讯云的中枢节点上,就可以看到华为云和阿里云都拨入上来了。
[root@VM-12-4-centos ~]# ipsec trafficstatus
#67: "l2tp-psk"[29] 121.36.XXX.202, type=ESP, add_time=1715344366, inBytes=4642, outBytes=4637, maxBytes=2^63B, id='192.168.20.21'
#68: "l2tp-psk"[29] 121.36.XXX.202, type=ESP, add_time=0, inBytes=974, outBytes=974, maxBytes=2^63B, id='192.168.20.21'
#70: "l2tp-psk"[31] 118.31.XXX.179, type=ESP, add_time=1715347319, inBytes=732, outBytes=714, maxBytes=2^63B, id='192.168.21.21'
4、配置笔记本电脑本地VPN
本地笔记本VPN拨号,然后登陆到腾讯云中枢节点。可以正常与阿里云和华为云节点通讯。
xudong@xudongdeMacBook-Pro ~ % ssh root@192.168.42.1
root@192.168.42.1's password:
Last failed login: Fri May 10 21:46:12 CST 2024 from 221.215.21.91 on ssh:notty
There were 7 failed login attempts since the last successful login.
Last login: Fri May 10 21:24:13 2024 from 116.6.232.33
[root@VM-12-4-centos ~]# ping 192.168.42.101
PING 192.168.42.101 (192.168.42.101) 56(84) bytes of data.
64 bytes from 192.168.42.101: icmp_seq=1 ttl=64 time=33.9 ms
64 bytes from 192.168.42.101: icmp_seq=2 ttl=64 time=33.9 ms
64 bytes from 192.168.42.101: icmp_seq=3 ttl=64 time=33.9 ms
^C
--- 192.168.42.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 33.913/33.933/33.949/0.213 ms
[root@VM-12-4-centos ~]# ping 192.168.42.102
PING 192.168.42.102 (192.168.42.102) 56(84) bytes of data.
64 bytes from 192.168.42.102: icmp_seq=1 ttl=64 time=32.4 ms
64 bytes from 192.168.42.102: icmp_seq=2 ttl=64 time=32.4 ms
64 bytes from 192.168.42.102: icmp_seq=3 ttl=64 time=32.4 ms
64 bytes from 192.168.42.102: icmp_seq=4 ttl=64 time=32.3 ms
^C
--- 192.168.42.102 ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4004ms
rtt min/avg/max/mdev = 32.373/32.415/32.447/0.182 ms
[root@VM-12-4-centos ~]#
但是,为啥我需要先登录到腾讯云中枢节点呢?我自己本机,作为虚拟网的一个节点,和其他节点为啥不能直接互通?
这个问题,后面解决吧。看来还差一点东西。