服务端配置

安装

$ apt-get install tinc

配置

$ mkdir -p /etc/tinc/dock/hosts
$ cd /etc/tinc/dock

配置 tinc.conf

$ vim /etc/tinc/dock/tinc.conf
Name=dockserver
Interface=dock
Mode=switch
TCPOnly=yes
Port=12345
PrivateKeyFile=/etc/tinc/dock/rsa_key.priv

配置 tinc-up

$ vim /etc/tinc/dock/tinc-up
#!/bin/sh
ifconfig $INTERFACE 192.168.0.1 netmask 255.255.255.0

配置 tinc-down

$ vim /etc/tinc/dock/tinc-down
#!/bin/sh
ifconfig $INTERFACE down

Service 配置 dockserver,其中 Address 为服务端的实际 IP 地址

$ vim /etc/tinc/dock/hosts/dockserver
Compression=9
Subnet=192.168.0.1/32
Address=x.x.x.x
Port=54321

修改权限

$ chmod 755 /etc/tinc/dock/{tinc-down,tinc-up}

服务端生成 key

$ 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]:

客户端配置

安装

$ apt-get install tinc

配置

$ mkdir -p /etc/tinc/dock/hosts$ cd /etc/tinc/dock

创建 tinc.conf 配置文件

$ vim /etc/tinc/dock/tinc.conf
Name=client01
ConnectTo=dockserver
Interfce=dock
Mode=switch
TCPOnly=yes
PrivateKeyFile=/etc/tinc/dock/rsa_key.priv

创建 tinc-down

$ vim /etc/tinc/dock/tinc-down
#!/bin/sh
ifconfig $INTERFACE down

创建 tinc-up

$ vim /etc/tinc/dock/tinc-up
#!/bin/sh
ifconfig $INTERFACE 192.168.0.2 netmask 255.255.255.0

创建 clinent01 配置文件

$ vim /etc/tinc/dock/hosts/client01
Compression=9
Subnet=192.168.0.2/32

修改权限

$ chmod 755 /etc/tinc/dock/{tinc-down,tinc-up}

把服务端的 dockserver 拷贝到客户端

$ scp root@x.x.x.x:/etc/tinc/dock/hosts/dockserver /etc/tinc/dock/hosts/dockserver

客户端生成 key

$ 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/vpnclient01]:

把客户端生成的配置文件拷贝到服务端

$ scp /etc/tinc/dock/hosts/client01 root@x.x.x.x:/etc/tinc/dock/hosts/client01

启动和关闭

$ tincd -n dock        #启动tinc vpn
$ tincd -n dock -k     #关闭tinc vpn

启动完成后查看 ifconfig 后会有 dock 的网卡参数

$ 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)

客户端为 192.168.0.2 ,如果不互通可以把 tincd 启动在前台查看日志

$ tincd -n dock -D -d 5

Tinc VPN的更多相关文章

  1. How To Install Tinc and Set Up a Basic VPN on Ubuntu 14.04

    Introduction In this tutorial, we will go over how to use Tinc, an open source Virtual Private Netwo ...

  2. ## 分享一下Mac(苹果电脑)里面好用的软件!

    该文章主要分享 Mac电脑常用的软件 文章来源于 github小弟调调™的仓库转载 说明 [Open-Source Software][OSS Icon] 表示 开源软件 ,点击进入 开源 仓库: ...

  3. How To Install and Configure Elasticsearch on Ubuntu 14.04

    Reference: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-elasticsear ...

  4. BlackArch-Tools

    BlackArch-Tools 简介 安装在ArchLinux之上添加存储库从blackarch存储库安装工具替代安装方法BlackArch Linux Complete Tools List 简介 ...

  5. Win10 连接L2TP VPN 失败解决方法

    Win10 连接L2TP VPN 失败解决方法 iOS系统不知道在什么时候,已经不支持PPTP VPN.偶尔的机会刚好看到github上的一键式VPN服务器部署脚本setup-ipsec-vpn,就在 ...

  6. 通过使用OpenVPN来构建一个VPN

    首先我们需要简单熟悉一下OpenVPN和VPN概念,方便我们在使用OpenVPN构建VPN时的操作~  VPN概述 VPN,即虚拟专用网络,其功能是:在公用网络上建立专用网络,进行加密通讯.在企业网络 ...

  7. 利用NetworkExtension库配置VPN

    VPN简单说就是连接局域网的一个通道.Ios8之后苹果增加了一个VPN的接口NEVPNManager,它可以方便的添加VPN连接. 首先在你的Xcode内,TARGETS->Capabiliti ...

  8. Windows 10不能拨L2TP协议的VPN

    之前是Windows 10版本1607版本14393.102升级14393.187过后,突然出现不能拨公司防火墙的L2TPVPN了. 网上众说纷纭,原来遇到这个问题的人真不少,不过我是第一次遇到.结合 ...

  9. Juniper SSG5 PPTP VPN 619错误解决

    公司分部的客户端需要使用PPTP VPN连接总部,将网关更换为Juniper SSG5后,客户端出现了每几个小时自动断开的现象,错误619. 解决:Security —— ALG —— 开启PPTP协 ...

随机推荐

  1. Noip2016组合数(数论)

    题目描述 组合数表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的定 义,我们可以给出计算 ...

  2. swift 上的 lazy

    lazy顾名思义就是慢吞吞的,万非得一就不动. 那么一个变量也是如此,只有你第一次使用的时候才进去加载.所有又称为延迟加载,需要的时候才加载. ========= 这样做的好处: 1. 模块化,把对象 ...

  3. Vue源码终笔-VNode更新与diff算法初探

    写完这个就差不多了,准备干新项目了. 确实挺不擅长写东西,感觉都是罗列代码写点注释的感觉,这篇就简单阐述一下数据变动时DOM是如何更新的,主要讲解下其中的diff算法. 先来个正常的html模板: & ...

  4. Strtus2框架笔记

    Struts2以WebWork优秀的设计思想为核心,吸收了 Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web 应用程序框架. Struts2引入了几个新的框架特性:从逻辑中分 ...

  5. IsoAlgo3d - A PCF 3D Viewer for Desktop, Tablet and Smart phone

    IsoAlgo3d - A PCF 3D Viewer for Desktop, Tablet and Smart phone eryar@163.com Abstract. IsoAlgo3d 通过 ...

  6. Windows环境下多线程编程原理与应用读书笔记(6)————临界段及其应用

    <一>临界段 临界段对象通过提供所有线程必须共享的对象来控制线程.只有拥有临界段对象的线程才能够访问保护的资源.在另一个线程可以访问该资源之前,前一线程必须释放临界段对象,一遍新的线程可以 ...

  7. CSS 备忘

    border-radius :  10px  /  40px    10表示X轴半径   40表示Y轴半径   font:italic bold 13px/13px arial,sans-serif; ...

  8. Python爬虫入门:URLError异常处理

    大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的 ...

  9. JavaScript系列----面向对象的JavaScript(2)

    本文中心: 这篇文章比较难懂,所以读起来比较晦涩.所以,我简单列一下提纲: 在第一部分,从函数原型开始谈起,目的是想搞明白,这个属性是什么,为什么存在,在创建对象的的时候起到了什么作用! 在第二部分, ...

  10. MongoDB入门系列(一):基础概念和安装

    概述 MongoDB是目前非常流行的一种非关系型数据库,作为入门系列的第一篇本篇文章主要介绍Mongdb的基础概念知识包括命名规则.数据类型.功能以及安装等. 环境: OS:Windows Versi ...