我们搭建VPN采用的是openvpn,搭建过程总体需要经过三大步骤:

       1openvpn的安装与配置

         2、端口转发

         3、系统重启iptables规则自动生效

 注意:以下所有名令在root权限下输入(进入root权限命令 sudo su) 下面用红颜色标注的字体是修改了的;如果按以前的操作失败了的可以把下面两条红色的语句重新添加到服务器中就可以了。

  PS:感谢jsa大神指正我的错误.

一、openvpn的安装与配置

  

         openvpn安装与配置教程,此链接中的内容介绍了openvpn的安装与配置步骤(图文并茂)

二、端口转发

  第一步完成后,本地服务器与云服务器组成了一个局域网(我们配置后的本地服务器虚拟网卡IP为10.8.0.6,云服务器虚拟网卡IP为10.8.0.1),可以试着在本地服务器上运行命令 ping  10.8.0.1或者在云服务器上运行命令  ping 10.8.0.6,如果数据包都能被接收说明两台服务器已成为一个局域网,否则说明配置未成功。

  在做端口转发时先看看这篇博客http://blog.csdn.net/daisy_chenting/article/details/7058145  它介绍了iptables规则了,如果想详看可以去看看《鸟哥的Linux私房菜》

  云服务器与本地服务器IP:

    

      本地服务器IP: 172.16.200.33    本地服务器虚拟网卡IP: 10.8.0.6    端口:80

      云服务器公网IP: 115.159.185.192 端口:80     内网IP(虚拟网卡IP):10.8.0.1  端口:80

  端口转发命令:

      sysctl net.ipv4.ip_forward=1(这条必须写到/etc/sysctl.conf文件下,否则当服务器重启时,路由功能会失效,导致要访问的页面失败)

      iptables -P FORWARD DROP

      iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

      iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.8.0.6:80

      iptables -A FORWARD -p tcp --dport 80 -j ACCEPT

      iptables -t nat -A POSTROUTING -d 10.8.0.6 -p tcp --dport 80 -j SNAT --to 10.8.0.1

最后三条命令就是将所有访问10.8.0.6的用户请求访问的源IP改为10.8.0.1,让10.8.0.6误以为是10.8.0.1发送的请求,由于它们已在同一个局域网中,所以可以访问成功。

三、系统重启iptables规则自动生效

  有两种方法可以在系统重启后使得iptables规则自动生效,两种修改方法如下:

    1、 修改Operation System

          iptable-save > /etc/iptables-config  (root权限下,将当前规则存到/etc/rc.local文件中) (保存iptables规则这条语句以前漏掉了,现在添加上)

          iptables-restore < /etc/iptables-config (在/etc/rc.local文件末尾添加这条命令,Ubuntu开机之后会执行/etc/rc.local文件中的脚本)

    

    2、修改网卡

        

          iptables-save > /etc/iptables.up.rules (root权限下,将当前规则存到/etc/iptables.up.rules文件中)
          

          pre-up iptables-restore < /etc/iptables.up.rules (修改脚本/etc/network/interfaces,在其末尾添加这条命令,在网络启动时应用防火墙规则)

    

    注:先去了解下对文件的操作

  

两台装有Ubuntu系统的服务器搭建VPN(一台为本地服务器,另一台为云服务器)的更多相关文章

  1. JavaScript进阶(九)JS实现本地文件上传至阿里云服务器

    JS实现本地文件上传至阿里云服务器 前言 在前面的博客< JavaScript进阶(八)JS实现图片预览并导入服务器功能>(点击查看详情)中,实现了JS将本地图片文件预览并上传至阿里云服务 ...

  2. ubuntu系统用docker搭建wordpress

    目标:在docker中搭建wordpress 安装顺序: 首先要有一个云服务器---购买或者自己搭建(本人是自己在主机上装了虚拟机,搭建了一个ubuntu14.04,安装链接:https://www. ...

  3. Hadoop 在ubuntu系统上的搭建[图解]

    前言 本文介绍如何在Ubuntu Kylin操作系统上搭建Hadoop平台. 配置 1. 操作系统: Ubuntu Kylin 14.04 2. 编程语言: JDK 1.8 3. 通信协议: SSH ...

  4. Ubuntu系统之Hadoop搭建

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/3223 一.在Window中安装Oracle VM VirtualBox 二 ...

  5. 本地Linux备份服务器[Client]定期备份云服务器[Server]上的文件(下)

    https://www.cnblogs.com/kevingrace/p/5972563.html Client上使用rsync命令查看服务器上文件列表rsync --list-only -e &qu ...

  6. ubuntu系统lamp环境搭建、数据库迁移、设置数据库外部访问

    sudo passwd root设置两次密码su输入设置的密码exit (退出root帐号) 1.sudo apt-get update 2.sudo apt-get install apache2 ...

  7. 2003服务器搭建vpn

    先说下为什么会有本文,公司的git突然被防火墙屏蔽了,有些同事无奈用4g网去提交,我比较穷,1g的小水管hold不住,于是我想着用vpn.国内封杀的比较严重,免费的更是少,找朋友要了一个3小时试用的, ...

  8. Windows7系统中nginx与IIS服务器搭建集群实现负载均衡

    10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡   分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑 ...

  9. 3.linux(ubuntu)常用服务器搭建

    1 ftp 1.1 ftp服务器 1.安装vsftpd服务器 sudo apt-get install vsftpd 2.配置vsftpd.conf文件 sudo vi /etc/vsftpd.con ...

随机推荐

  1. Java开发中经典的小实例-(打印输入重复的值)

    import java.util.ArrayList;import java.util.Scanner;public class Test8 {    public static void main( ...

  2. [SAP ABAP开发技术总结]ABAP调优——代码优化

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. React之JSX

    0.对于学习React,我们先来熟悉下JSX的语法, 下面的这些语法仅用于构建一个组件的标签模块,定义完成之后如果需要做演示,请附加以下代码: ReactDOM.render( element1, d ...

  4. X.509,RSA,PKCS 普及

    X.509 X.509是一种非常通用的证书格式.所有的证书都符合ITU-T X.509国际标准,因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用. 在一份证书中,必须证明公钥 ...

  5. php总结 --- 18. 七牛云存储

    第三方资源拉取 /** * 七牛云抓取文件 * @param string $url 文件URL地址 * * 参考地址:http://developer.qiniu.com/code/v6/api/k ...

  6. RabbitMQ之入门

    生成者: #coding:utf-8 import sys import pika credentials=pika.PlainCredentials("guest"," ...

  7. 支撑双十一的,不仅仅是AliSQL,也不仅仅是Oceanbase

    全棉时代,作为稳健医疗集团的全资子公司,传承了稳健医疗集团在医用棉制品行业20年的专业技术和生产经验,以其独创的 "全棉水刺无纺布专利工艺"为核心技术载体,成功实现了医用产品向民用 ...

  8. Struts2标签之Checkbox

    <s:checkbox name="permisskey" label="帅哥" value="true" fieldValue=&q ...

  9. laravel 安装完成后安装 vendor 目录

    composer  install 就是将composer.js 中的配置下载安装 生成vendor目录

  10. Python’s SQLAlchemy vs Other ORMs[转发 6]SQLAlchemy

    SQLAlchemy SQLAlchemy is an open source SQL toolkit and ORM for the Python programming language rele ...