介绍下环境:

1、ROS1也是PPTP SERVER,IP为172.16.22.3/24,pptp pool为172.16.23.0/24,pptp的默认帐号是111,密码是123

2、ROS2的IP为172.16.22.4/24

两个ROS都要设置NAT代理上网,出口为wan方向,ROS版本为6.43.8

3、vpstest为centos6.10,其中IP为172.16.22.6/24

4、vps为www.vultr.com创建的

步骤:

1、创建vps,默认系统是centos7,因为我比较熟悉centos6,所以创建完VPS以后,重新格式化系统为centos 6 x64,我看了下版本是6.10

2、从云平台看了下,Private Network内网IP是172.16.22.6/24,这个IP不会自动生成,需要自己到系统里去配置下。vultr是eth1走的这个IP

3、进了系统先把root密码修改下,不然云平台给的密码复杂的一米。passwd命令

4、配置内网IP:

cd /etc/sysconfig/network-scripts/

cp ifcfg-eth0 ifcfg-eth1

vi ifcfg-eth1

DEVICE="eth1"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
NM_CONTROLLED="no"
IPADDR="172.16.22.6"
NETMASK="255.255.255.0"

service network restart

由于我们不需要外网IP,那么直接让外网网卡开机不启动即可,

cd /etc/sysconfig/network-scripts/

vi ifcfg-eth0

ONBOOT="yes"改为ONBOOT="no"即可

5、开始安装pptp客户端

yum -y install ppp pptp pptp-setup

6、配置pptp client

pptpsetup命令用法及说明:

pptpsetup --create <TUNNEL> --server <ip address/hostname> [--domain <DOMAIN NAME>] --u sername <USERNAME> [--password <PASSWORD>] [--encrypt] [--start]

pptpsetup –delete <TUNNEL> 删除一个节点

pptpsetup --create pptpvpn --server 172.16.22.3 --username 111 --password 123

编辑pptp配置文件

vi /etc/ppp/peers/vpn连接名称

vi /etc/ppp/peers/pptpvpn

# written by pptpsetup
pty "pptp 172.16.22.3 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name 111
remotename pptpvpn
ipparam pptpvpn

persist #当连接丢失时让pppd再次拨号

holdoff 0 #holdoff是间隔几秒进行重复拨号

maxfail 0 #上面persist和maxfail 0组合使用,永远不停的拨号尝试

require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap

pptp密码修改

/etc/ppp/chap-secrets

7、创建拨号删除拨号的快捷方式

cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon /usr/sbin/poff

拨号

pon vpn连接名称

通过pon/poff <tunnel> 来启停VPN连接

8、加载PPTP模块!要放在/etc/rc.local里,并且在pon vpn之前!!!

/sbin/modprobe nf_conntrack_pptp

9、添加静态路由表,并且设置开机启动,在/etc/rc.local里的所有命令如下:注意这里的metric一定要设置大于0,因为这里是一条备用路由表,主路由表走的是拨号!

/sbin/route add default gw 172.16.22.4 metric 20

/sbin/modprobe nf_conntrack_pptp

pon pptpvpn

10、查看是否连上

ifconfig

ppp0      Link encap:Point-to-Point Protocol  
             inet addr:172.17.196.10  P-t-P:172.17.196.7  Mask:255.255.255.255
             UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
             RX packets:102271 errors:0 dropped:0 overruns:0 frame:0
             TX packets:61330 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:3 
             RX bytes:133137807 (126.9 MiB)  TX bytes:3351984 (3.1 MiB)

11、

查看拨号日志

cat /var/log/messages

tail -f /var/log/messages

12、我们上面的步骤只是完成了,开机就拨号,并设置默认路由为备用路由,但是我们的主路由表还没添加好呢!!!

13、由于,我们只能在拨号之后,创建路由表才能生效,所以我们/etc/ppp/ip-up.local,创建这个文件

/etc/ppp/ip-up.local

vi /etc/ppp/ip-up.local
#!/bin/bash
tmpip=`echo $4 | cut -d. -f1-3`         --------------------------千万注意。这里是反引号!!!
case $tmpip in
172.16.23)
/sbin/route add default gw 172.16.23.1
;;
*)
esac

关于$4的说明如下:

Make the script executable: chmod 755 ip-up.local

Arguments available in ip-up and ip-up.local scripts

Argument Description
$1 the interface name used by pppd (e.g. ppp3)
$2 the tty device name
$3 the tty device speed
$4 the local IP address for the interface
$5 the remote IP address
$6 the current IP address before connecting to the VPN

 上面的脚本的意思,是当拨号成功以后,拨号获取到的IP,如果开头为172.16.23的话,那么创建默认路由网关为172.16.23.1。

最后注意,一定要给它有执行权限。chmod 755 ip-up.local

14、最后把一台机器作为快照,作为母盘,每次克隆一台机器,只需要从控制台看下内网IP是多少,然后到控制台上去设置下重启就可以了

vi /etc/sysconfig/network-script/ifcfg-eth1

reboot

15、克隆完出来的机器,重启好以后,局域网内网IP应该可以ping同,然后ssh上去看下路由表,看下是否可以上网就OK了

今天又实践了下 centos7的环境,其他都没变!有些不同的地方我都用红色标注出来了

1、增加dns解析
vi /etc/resolv.conf
nameserver 8.8.8.8
2、增加支持route命令等
yum install net-tools
3、增加局域网网卡ip以及默认网关,并设定默认网关的metric为20
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
NM_CONTROLLED="no"
IPADDR="172.16.22.7"
NETMASK="255.255.255.0"
vi /etc/sysconfig/network-scripts/route-eth1
default via 172.16.22.4 metric 20
在centos7里,/sbin/route add default gw 172.16.22.4 metric 20这条命令加到rc.local里就没用了。必须用route-eth1的方式来增加默认网关
4、yum -y install ppp pptp pptp-setup
5、pptpsetup --create pptpvpn --server 172.16.22.3 --username 111 --password 123
vi /etc/ppp/peers/pptpvpn
# written by pptpsetup
pty "pptp 172.16.22.3 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name 111
remotename pptpvpn
ipparam pptpvpn
persist #当连接丢失时让pppd再次拨号
holdoff 0 #holdoff是间隔几秒进行重复拨号
maxfail 0 #上面persist和maxfail 0组合使用,永远不停的拨号尝试
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap
6、pptp密码修改
/etc/ppp/chap-secrets
7、cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon /usr/sbin/poff
8、设置开机启动,在/etc/rc.local里的所有命令如下

在centos7中,/etc/rc.d/rc.local文件的权限被降低了,没有执行权限,需要给它添加可执行权限。

chmod +x /etc/rc.d/rc.local
然后就可以在里面添加你要开机自启的命令了
 vi /etc/rc.d/rc.local

/sbin/modprobe nf_conntrack_pptp
pon pptpvpn
9、vi /etc/ppp/ip-up.local
vi /etc/ppp/ip-up.local
#!/bin/bash
tmpip=`echo $4 | cut -d. -f1-3`
case $tmpip in
172.16.23)
/sbin/route add default gw 172.16.23.1
;;
*)
esac
10、chmod 755 /etc/ppp/ip-up.local
11、reboot

云端搭建内网局域网+NAT冗余上网:vps-centos6.10 +pptp client +2个ros 实现默认走pptp上网,万一pptp断了,走另外一个ros路由+centos7补充了下的更多相关文章

  1. Django + Apache + 树莓派 搭建内网微信公众号服务器

    其实早在微信开放公众号开发平台时就想弄一个自己的公众号服务器,奈何对web服务器搭建和开发一窍不通,只是注册了一下开发者帐号,并没有采取行动,万恶的拖延症. 前一年,开始接触python,打开了神奇世 ...

  2. Apache James搭建内网邮件服务器

    Apache James搭建内网邮件服务器 极客521 | 极客521 2014-08-21 148 阅读 java 大概之前两个礼拜的日子,讨论会介绍了关于了.net内网邮件服务器的搭建.所以自己也 ...

  3. 搭建内网Yum源

    搭建内网yum源 阅读(2,238) 一:因内网服务器 众多,当统一安装一些比较大的rpm的时候全部从外网下载就比较慢,而且还占用了一定的出口流量,因此在内网部署了一台yum服务器,将阿里云的epel ...

  4. bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)

    实验目的 模拟企业DNS服务架构服务器及原理 实验环境准备 实验架构图 实验设备 DNS服务器4台 主服务器master(centos8):IP_192.168.100.30, 从服务器slave(r ...

  5. 【C#】C#获取本地的内网(局域网)和外网(公网)IP地址的方法

    1.获取本机的IP地址集合: /// <summary> /// 获取本机所有ip地址 /// </summary> /// <param name="netT ...

  6. 使用dnsmasq快速搭建内网DNS

    背景介绍公司有一批测试服务器,之间希望通过自定义的域名进行访问,这样比较方便,但每个人每台机器都维护一个hosts的话会非常麻烦,于是想搭建一个内部的DNS服务器,对自定义的域名进行解析,同时缓存公网 ...

  7. RadHat搭建内网YUM源server

    前言:随着内网linuxserver越来越多,在每台server上安装软件.都要先把安装盘上传上去.在配置本地yum服务,即麻烦又费时.能够在内网的一台linuxserver上安装yum服务,然后其它 ...

  8. VMware搭建内网并通过iptables端口转发联网

    整体流程图 配置Server1 新建两块网卡 一块网卡设置为桥接模式,另外一块设置为仅主机模式 查看两块网卡配置 root@ubuntu:~# ifconfig ens33 Link encap:Et ...

  9. SVN服务器搭建 内网可用外网不可用的问题

    检查1:内网端口映射到了外网端口,这样外网才能够访问到 映射的方式有两种: 1.通过路由器的虚拟服务器功能,网上一搜一大把. 2.将路由器的DMZ功能开启,并把DMZ主机设置为目标计算机. 检查2:S ...

随机推荐

  1. 《DSP using MATLAB》Problem 5.20

    窗外的知了叽叽喳喳叫个不停,屋里温度应该有30°,伏天的日子难过啊! 频率域的方法来计算圆周移位 代码: 子函数的 function y = cirshftf(x, m, N) %% -------- ...

  2. itcast-Hibernate orm元数据和 关系操作

    在Hibernate安装包 project /etc/hibernate.property文件下 显示 ,格式化       映射导入映射文件 详解orm元数据 配置文件详解 generator主键生 ...

  3. Cassandra如何保证数据最终一致性

    Cassandra如何保证数据最终一致性:1.逆熵机制(Anti-Entropy)使用默克尔树(Merkle Tree)来确认多个副本数据一致,对于不一致数据,根据时间戳来获取最新数据. 2.读修复机 ...

  4. hive array、map、struct使用

    hive提供了复合数据类型:Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域aMaps ...

  5. Pushpin How it works

    转自:https://pushpin.org/docs/about/#how-it-works Introduction Pushpin is a reverse proxy server that ...

  6. 比较两个ranges(equal,mismatch,lexicographical_compare)

    euqal 比较两个序列是否相等,相等返回true,不相等返回false //版本一:调用重载operator==比较元素 template <class InputIterator1,clas ...

  7. python之路---07 join() fromkeys() 深浅拷贝

    二十四.基本数据类型补充 1.join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代.  获取到的每个元素和前面的*进行拼接.  ...

  8. mysql之 xtrabackup-2.4.12 安装

    版本说明:备份工具:percona-xtrabackup-2.4.12-Linux-x86_64.libgcrypt11os:centos 6.5 1.解压安装包tar zxvf percona-xt ...

  9. taro 组件的外部样式和全局样式

    自定义组件对应的样式文件,只对该组件内的节点生效. 编写组件样式时,需要注意以下几点: 组件和引用组件的页面不能使用 id 选择器(#a).属性选择器([a])和标签名选择器,请改用 class 选择 ...

  10. 高级OPENGL, 利用uniform块接口

    1.找到需要的uniform块的索引, 将程序对象的该uniform块索引绑定uniform 缓冲对象的绑定点 2.建立uniform缓冲对象,对象绑定GL_UNIFORM_BUFFER缓冲目标,为缓 ...