雲端搭建內網局域網+NAT冗余上網:vps-centos6.10 +pptp client +2個ros 實現默認走pptp上網,萬一pptp斷了,走另外一個ros路由+centos7補充了下


介紹下環境:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM