2. 台式机主机 / Ubuntu Server 18.04

  本节我们配置台式机,并将其加入到 VPN 中,完成后,整个 VPN 内将有两台机器。这台机器位于杂物房,通过路由器连入互联网。

VPN 设置:

项目 数据
VPN 网络名称 home_vpn
VPN 主机名称 desktop
VPN IP 10.0.0.100
VPN 子网掩码 255.255.255.0
VPN CIDR 10.0.0.100/24
tinc 端口 655(默认)

安装 tinc

  Ubuntu 系列的安装都差不多,均通过包管理器 apt 进行,不再赘述。其实其他的 Linux 发行版也差不多,只是包管理器的差异,tinc 在流行的发行版中一般都有预编译版本。

  登录服务器,进入终端:

sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y

sudo apt-get install tinc -y

创建配置文件

1.建立网络配置目录(网络名称为 home_vpn):

sudo mkdir -p /etc/tinc/home_vpn/hosts

2.建立配置文件 tinc.conf

sudo vi /etc/tinc/home_vpn/tinc.conf

编辑 tinc.conf 内容如下:

Name = desktop
ConnectTo = tinc_ali

指明本主机的主机名为 desktop。注意这里多了一行 ConnectTo,这行 ConnectTo 指定启动时,自动连接上一节我们配置好的核心主机 tinc_ali。

3.建立启动和关闭脚本 创建启动脚本 tinc-up

sudo vi /etc/tinc/home_vpn/tinc-up

编辑 tinc-up 内容如下:

#!/bin/sh

ifconfig $INTERFACE 10.0.0.100 netmask 255.255.0.0

创建启动脚本 tinc-down

sudo vi /etc/tinc/home_vpn/tinc-down

编辑 tinc-down 内容如下:

#!/bin/sh

ifconfig $INTERFACE down

赋予脚本可执行权限:

sudo chmod +x /etc/tinc/home_vpn/tinc-up
sudo chmod +x /etc/tinc/home_vpn/tinc-down

4.创建本主机描述文件(主机名称为 desktop

sudo vi /etc/tinc/home_vpn/hosts/desktop

编辑 desktop 内容如下:

Subnet = 10.0.0.100/32

与核心主机比较,desktop 没有公网IP,所以没有 Address 这一行。Subnet 中 “10.0.0.100” 是本主机的 VPN IP,“/32”说明是本主机的一台普通类型的主机。不了解没关系,先这么写,以后可以参阅进阶进一步学习。

生成密钥

执行 tincd 生成脚本, -n 指定网络名称,-K 指明生成密钥,可以在 -K 后以数字指定密钥长度,普通用途用默认值(2048)即可。命令执行过程中,需要指定文件名,不用管直接两次回车用默认值即可。

sudo tincd -n home_vpn -K

运行完成以后,会生成私钥文件 /etc/tinc/home_vpn/rsa_key.priv,并更新本主机的描述文件 /etc/tinc/home_vpn/hosts/desktop。

交换密钥

之前有提到,tinc 的加密和认证需要公钥文件,需要通讯的双方主机都有对方的公钥。所以我们要确保核心主机和本主机都有对方的主机描述文件。

将本主机的 /etc/tinc/home_vpn/hosts/desktop 复制到核心主机的同样位置。

复制核心主机的 /etc/tinc/home_vpn/hosts/tinc_ali 到本主机的同样位置。

设为自启

  Ubuntu 18.04 不再使用 initd 管理系统,改用 systemd,因此和 16.04 之前的版本设置方法不同。需使用 systemctl 来进行服务的管理:

sudo systemctl enable tinc@home_vpn

重启系统:

sudo reboot

测试

重启完成后,通过 ping 来验证网络是否互通。

在 desktop 上:

ping -c 10.0.0.254

在 tinc_ali 上:

ping -c 10.0.0.100

如果您是严格按照教程做,无意外的话已经能相互 ping 通了。如果ping不通,请检查双方,尤其是 tinc_ali 的防火墙设置是否正确。

完成

现在 VPN 共有两台机器:tinc_ali 和 desktop。这两台机器现在开机即可相互通讯,有兴趣的话还可以再试试 SSH 等网络应用。

results matching ""

    No results matching ""