使用ssh建立虚拟局域网

使用ssh建立虚拟局域网

ssh不仅可以用来登录命令行,也可以用来建立加密隧道,更是可以将多个网络通过隧道形成一个虚拟的局域网

而且配置起来也简单方便。

1 准备环境

1个ssh服务器A,示例使用的是ubuntu22

2个ssh客户端B,C。都是ubuntu18

2 创建网络设备

服务端A

创建tap设备

ip tuntap add mod tap

ip link set tap0 up

ip tuntap add mod tap

ip link set tap1 up

注意:这里的tap0,是系统生成的名字,后面的数字是设备编号。设备号不同,生成的名字也不同。

创建网桥设备

brctl addbr br0

ip link set br0 up

brctl addif br0 tap0

brctl addif br0 tap1

ip addr add 11.0.0.1/24 dev br0

客户端B

创建tap设备

同服务端一样,也需要创建tap设备

ip tuntap add mod tap

ip link set tap0 up

ip addr add 11.0.0.2/24 dev tap0

3 配置文件

服务端A

修改配置文件,路径为/etc/ssh/sshd_config

将其中PermitTunnel打开注释并且修改为yes,

并且使用systemctl restart sshd.service重启服务

客户端B

在~/.ssh目录下创建config文件,内容如下

Host server-tunnel

Hostname x.x.x.x

Port 22

User user

Tunnel ethernet

TunnelDevice 0:0

Host:表示连接名字

Hostname:服务器的IP或者域名

User :登录名

Tunnel :yes或者ethernet;我们这里用需要ethernet

TunnelDevice :x1:x2;网络设备号,也就是网络接口tapx后面的那个数字,x1本地网络设备号,x2服务端网络设备号。

4 客户端B连接

现在,万事俱备只欠东风了。

在客户端B,使用命令ssh -Nf server-tunnel

输入密码或者使用公钥登录后,就可将客户端B和服务端A通过tap设备连接起来。

如果连接失败,可以使用ssh -Nv server-tunnel,调试下失败的原因。

成功后,就可以互ping通了。

客户端B

root@Dev:~/.ssh# ping 11.0.0.1

PING 11.0.0.1 (11.0.0.1) 56(84) bytes of data.

64 bytes from 11.0.0.1: icmp_seq=1 ttl=64 time=5.74 ms

64 bytes from 11.0.0.1: icmp_seq=2 ttl=64 time=7.06 ms

64 bytes from 11.0.0.1: icmp_seq=3 ttl=64 time=7.39 ms

^C

--- 11.0.0.1 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2003ms

rtt min/avg/max/mdev = 5.740/6.731/7.395/0.720 ms

服务端A

lq@lq-server ~> ping 11.0.0.2

PING 11.0.0.2 (11.0.0.2) 56(84) bytes of data.

64 bytes from 11.0.0.2: icmp_seq=1 ttl=64 time=6.28 ms

64 bytes from 11.0.0.2: icmp_seq=2 ttl=64 time=6.85 ms

^C

--- 11.0.0.2 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1002ms

rtt min/avg/max/mdev = 6.283/6.568/6.854/0.285 ms

lq@lq-server ~>

5 客户端C的连接

客户端C的连接和客户端B是一样的。

稍稍有点区别的是,需要把~/.ssh/config文件中TunnelDevice 0:0修改为TunnelDevice 0:1

表示与服务端tap1设备建立点对点连接关系。

现在,在客户端C的tap设备上添加IP地址11.0.0.3/24,那么至此

服务器A和客户端B、C通过tap设备建立起虚拟局域网。

客户端C

user@user:~$ ping 11.0.0.1

PING 11.0.0.1 (11.0.0.1) 56(84) bytes of data.

64 bytes from 11.0.0.1: icmp_seq=1 ttl=64 time=37.9 ms

64 bytes from 11.0.0.1: icmp_seq=2 ttl=64 time=41.8 ms

^C

--- 11.0.0.1 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1001ms

rtt min/avg/max/mdev = 37.900/39.839/41.779/1.939 ms

user@user:~$

user@user:~$ ping 11.0.0.2

PING 11.0.0.2 (11.0.0.2) 56(84) bytes of data.

64 bytes from 11.0.0.2: icmp_seq=1 ttl=64 time=46.6 ms

64 bytes from 11.0.0.2: icmp_seq=2 ttl=64 time=45.7 ms

^C

--- 11.0.0.2 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1002ms

rtt min/avg/max/mdev = 45.710/46.153/46.596/0.443 ms

user@user:~$

相关新闻

钢结构篮球场多少钱一平方(钢结构篮球场造价一般多少)
买手办去哪个app好_手办app平台推荐
bet3365官网

买手办去哪个app好_手办app平台推荐

🕒 07-06 👽 3185
lol收徒是什么梗 收徒是什么意思
bet3365官网

lol收徒是什么梗 收徒是什么意思

🕒 10-04 👽 1358
问道悟道价格表[多图]
bet3365官网

问道悟道价格表[多图]

🕒 08-12 👽 5487
各国世界杯男模足球队阵容,意大利足球国家队里面最帅的是谁?
pr关键帧有什么用,PR关键帧在视频编辑中的核心作用与应用解析
365黑道老大免费观看第一季在线

pr关键帧有什么用,PR关键帧在视频编辑中的核心作用与应用解析

🕒 08-14 👽 3020