Tinc Vpn部署
Tinc Vpn部署
一基础
1.1.tinc目录结构:
/etc/tinc
└── tincnet
├── hosts
│ ├── Server
│ └── Client
├── rsa_key.priv
├── tinc.conf
├── tinc-down
└── tinc-up
/etc/tinc/tincnet:该网络的网络名,目录下的文件都属于tincnet这个网络,可以根据自己的情况修改名称.
hosts:目录是存放其他用户或者说是其他网络的public key以及他们的ip地址.
rsa_key.priv:本网络的私钥.
tinc.conf:本网络的配置文件.
tinc-down:本网络关闭时执行的脚本.
tinc-up:本网络启动时执行的脚本.
客户端和服务端都需要手动新建相同的目录结构,Windows端无需新建tinc-up和tinc-do
Name:主机名称.
Interface:隧道所使用的网卡名称.
Mode:有三种模式,分别是router、switch、hub,相对应我们平时使用到的路由、交换机、集线器 (默认模式:router) .
Compression:UDP数据包压缩级别。可选有0 (关闭),1 (fast zlib)至9(best zlib),10 (fast lzo)和11 (best lzo)`.
Cipher:加密类型。可选aes-128-cbc、aes-256-cbc等.
Digest:rsa加密协议强度。可选sha128、sha1等.
PrivateKeyFile:服务器私钥的位置.
二 规划准备
名称 | 详情 | 备注 |
---|---|---|
服务端 | 配置公网地址 虚拟地址:192.168.0.1 虚拟网卡名称:dock 服务端名称;server | |
客户端 | 端口:955 虚拟地址:192.168.0.2 虚拟网卡名称:dock 客户端名称:client01 |
三 服务端部署
3.1.tinc在各个发行版的仓库中都可以找到
例如CentOS系统就可以通过下面的命令安装:
#centos
yum -y install tinc
#Debian/Ubuntu:
apt-get install tinc
#macOS:
brew install tinc --devel
3.2 创建目录
mkdir -p /etc/tinc/dock/hosts
cd /etc/tinc/dock
3.3 主配置 tinc.conf
cat >/etc/tinc/dock/tinc.conf << "EOF"
Name=dockserver
Interface=dock
AddressFamily = ipv4
Mode=switch
TCPOnly=yes
Port=12345
PrivateKeyFile=/etc/tinc/dock/rsa_key.priv
EOF
3.4 配置 启动文件 tinc-up
cat > /etc/tinc/dock/tinc-up << "EOF"
#!/bin/sh
ifconfig $INTERFACE 192.168.0.1 netmask 255.255.255.0
EOF
3.5 配置关闭文件tinc-down
cat > /etc/tinc/dock/tinc-down << "EOF"
#!/bin/sh
ifconfig $INTERFACE down
EOF
3.6 配置网络信息 Service 配置 dockserver
其中 Address 为服务端的出口公网 IP 地址
cat >/etc/tinc/dock/hosts/dockserver << "EOF"
Compression=9
Subnet=192.168.0.1/32
Address=47.93.25.37
Port=54321
EOF
3.7 添加文件执行权限
chmod 755 /etc/tinc/dock/{tinc-down,tinc-up}
3.8 服务端生成 key
dock就是配置文件tinc.cnf参数Interface=dock,也就是虚拟网卡名称
cd /etc/tinc/
tincd -n dock -K
Generating 2048 bits keys:
...............................................+++ p
............................................................+++ q
Done.
Please enter a file to save private RSA key to [/etc/tinc/vpn/rsa_key.priv]:
Please enter a file to save public RSA key to [/etc/tinc/vpn/hosts/vpnserver]:
四 客户端配置-(跟服务端前几个步骤一样)
4.1 tinc在各个发行版的仓库中都可以找到
例如CentOS系统就可以通过下面的命令安装:
#centos
yum -y install tinc
#Debian/Ubuntu:
sudo add-apt-repository universe
sudo apt update
apt-get install tinc
#macOS:
brew install tinc --devel
#redhat 8
sudo curl -O https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install -y epel-release-latest-8.noarch.rpm
sudo dnf repolist
sudo dnf -y install tinc
4.2 创建目录
mkdir -p /etc/tinc/dock/hosts
cd /etc/tinc/dock
4.3 主配置 tinc.conf-(注意这里有不一样的配置)
cat >/etc/tinc/dock/tinc.conf << "EOF"
Name=client01
ConnectTo=dockserver
Interface=dock
AddressFamily = ipv4
Mode=switch
TCPOnly=yes
PrivateKeyFile=/etc/tinc/dock/rsa_key.priv
EOF
4.4 配置 启动文件 tinc-up-(这里地址不一样)
cat > /etc/tinc/dock/tinc-up << "EOF"
#!/bin/sh
ifconfig $INTERFACE 192.168.0.2 netmask 255.255.255.0
EOF
4.5 配置关闭文件tinc-down
cat > /etc/tinc/dock/tinc-down << "EOF"
#!/bin/sh
ifconfig $INTERFACE down
EOF
4.6 配置网络信息client01-(配置不一样)
cat > /etc/tinc/dock/hosts/client01 << "EOF"
Compression=9
Subnet=192.168.0.2/32
EOF
4.7 添加文件执行权限
chmod 755 /etc/tinc/dock/{tinc-down,tinc-up}
4.8 核心区别来了服务端的 dockserver 拷贝到客户端
#服务端操作
mkdir -p /etc/tinc/dock/hosts
scp root@47.93.25.37:/etc/tinc/dock/hosts/dockserver /etc/tinc/dock/hosts/dockserver
4.9 客户端生成 key
dock就是配置文件tinc.cnf参数Interface=dock,也就是虚拟网卡名称
如果生成过 记得把密钥删除重新执行以下命令
rm /etc/tinc/dock/rsa_key.priv
cd /etc/tinc/
#这里是大写K
tincd -n dock -K
Generating 2048 bits keys:
...............................................+++ p
............................................................+++ q
Done.
Please enter a file to save private RSA key to [/etc/tinc/vpn/rsa_key.priv]:
Please enter a file to save public RSA key to [/etc/tinc/vpn/hosts/vpnserver]:
5.0 把客户端生成好的配置文件拷贝到服务端
#客户端操作
scp /etc/tinc/dock/hosts/client01 root@47.93.25.37:/etc/tinc/dock/hosts/client01
五 启动关闭和测试
5.1 tinc服务启动和关闭(客户端和服务端一致)
#启动tinc vpn
tincd -n dock
#关闭tinc vpn
tincd -n dock -k
5.2 启动后测试-查看虚拟网卡是否生成/查看服务是否存在
ifconfig
dock Link encap:Ethernet HWaddr c2:f1:b3:6d:7a:f2
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:950 (950.0 B) TX bytes:280 (280.0 B)
netstat -tnlp|grep tinc
5.3 测试连通性
#服务端操作
ping 192.168.0.2
#客户端端操作
ping 192.168.0.1
5.4 启动测试命令
客户端为 192.168.0.2 ,如果不互通可以把 tincd 启动在前台查看日志
tincd -n dock -D -d 5
1
- 感谢你赐予我前进的力量