如何连接两个局域网
作者:
秒速五厘米
首先定义一下什么叫做连接两个局域网
假如一个局域网在192.168.1.0/24 这个段,另外一个局域网在192.168.2.0/24这个段,我们可以在192.168.1.0这个网段里直接访问192.168.2.0里的任何ip,也可以在192.168.2.0里访问任何192.168.1.0里的ip,那么这个就叫做连接两个局域网
如果192.168.1.0和192.168.2.0能够通过第三个网络进行连接,比如互联网,应用场景可能是两个机房,怎么做呢?
1、vpn,这是一个很自然的想法,通过vpn将两边连接起来,但是这需要额外的vpn服务器和客户端软件,比如openvpn
2、如果两个网络都有一个公网ip服务器,那么可以直接通过ip tunnel来解决
方法如下
ip tunnel add mytun mode ipip remote 192.168.2.x local 192.168.1.y
ip config mytun 10.2.8.1 up
route add -net 10.2.8.0 netmask 255.255.255.0 dev mytun
route add -net 192.168.2.0 netmask 255.255.255.0 dev mytun
我们来看一下每条命令都是什么意思
ip tunnel add mytun mode ipip remote 192.168.2.x local 192.168.1.y
这是指在当前机器上建立一个tunnel,本地ip是192.168.1.y,当有路由请求通过这个tunnel时,发送给远端的192.168.2.x
ip config mytun 10.2.8.1 up
给这个新建的设备一个ip
route add -net 10.2.8.0 netmask 255.255.255.0 dev mytun
route add -net 192.168.2.0 netmask 255.255.255.0 dev mytun
凡是 发给10.2.8.0和192.168.2.0的请求请路由给mytun设备,这样一来就会直接发给192.168.2.x
于是很显然192.168.2.0里也得有一台机器干同样的事情
ip tunnel add mytun mode ipip remote 192.168.1.y local 192.168.1.x
ip config mytun 10.2.8.2 up
route add -net 10.2.8.0 netmask 255.255.255.0 dev mytun
route add -net 192.168.1.0 netmask 255.255.255.0 dev mytun