CentOS架設VPN伺服器
說明:
伺服器作業系統:CentOS 5.X 64位
伺服器IP地址:192.168.21.128
實現目的:伺服器安裝配置pptp軟體,對外提供vpn撥號服務
具體操作:
一、安裝包下載
1、ppp#安裝pptpd需要此軟體包
http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.4-14.1.rhel5.x86_64.rpm
2、pptpd #目前最新版本
http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm
下載好之後上傳到/usr/local/src目錄
二、檢查伺服器系統內容是否支援安裝pptp vpn
1、檢查系統核心是否支援MPPE補丁
modprobe ppp-compress-18 &&echo success
顯示success說明系統支援MPPE補丁,如果不支援,需要先安裝kernel-devel
yum install kernel-devel
2、檢查系統是否開啟TUN/TAP支援
cat /dev/net/tun
如果這條指令顯示結果為下面的文本,則表明通過:
cat: /dev/net/tun: File descriptor in bad state
3、檢查系統是否開啟ppp支援
cat /dev/ppp
如果這條指令顯示結果為下面的文本,則表明通過:
cat: /dev/ppp: No such device or address
上面三條必須同時滿足,否則不能安裝pptp vpn
三、安裝pptp
cd /usr/local/src
rpm -ivh ppp-2.4.4-14.1.rhel5.x86_64.rpm#安裝ppp
rpm -ivh pptpd-1.4.0-1.rhel5.x86_64.rpm #安裝pptp
四、配置pptp
1、vi /etc/ppp/options.pptpd#編輯,添加、修改以下參數
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8 #添加主DNS伺服器位址
ms-dns 8.8.4.4 #添加備DNS伺服器位址
:wq!#儲存,退出
2、vi /etc/ppp/chap-secrets#設定pptp撥號使用者和密碼(可以設定多個使用者,每行一個)
# clientserversecretIP addresses
osyunweivpnuser01 pptpd123456*
osyunweivpnuser02 pptpd 1234 *
osyunweivpnuser03 pptpd12345678 *
格式:使用者名稱pptpd密碼*
其中*表示為用戶端自動分配IP地址
:wq!#儲存,退出
3、vi /etc/pptpd.conf#設定pptp伺服器IP地址,設定vpn撥入用戶端ip位址集區
option /etc/ppp/options.pptpd
logwtmp
localip 172.16.36.1#設定pptp虛擬撥號伺服器IP地址(注意:不是伺服器本身的IP地址)
remoteip 172.16.36.2-254#為撥入vpn的使用者動態分配172.16.36.2~172.16.36.254之間的IP地址
:wq!#儲存,退出
/sbin/service pptpd start#啟動pptp
/etc/init.d/pptpd stop#關閉
service pptpd restart#重啟
chkconfig pptpd on#設定開機啟動
五、開啟伺服器系統路由模式,支援包轉寄
vi /etc/sysctl.conf#編輯
net.ipv4.ip_forward = 1#設定為1
#net.ipv4.tcp_syncookies = 1#注釋掉
:wq!#儲存,退出
/sbin/sysctl -p #使設定立刻生效
系統營運www.osyunwei.com 溫馨提醒:qihang01原創內容 著作權,轉載請註明出處及原文連結
六、設定防火牆轉寄規則
yum install iptables #安裝防火牆
service iptables start #啟動防火牆
iptables -t nat -A POSTROUTING -s 172.16.36.0/255.255.255.0 -j SNAT --to-source 192.168.21.128#添加規則
iptables -A FORWARD -p tcp --syn -s 172.16.36.0/255.255.255.0 -j TCPMSS --set-mss 1356#添加規則
/etc/init.d/iptables save #儲存防火牆設定
七、開啟pptp服務連接埠tcp 1723,設定vpn撥入用戶端ip位址集區172.16.36.0/255.255.255.0通過防火牆
vi /etc/sysconfig/iptables#編輯,添加以下代碼
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT
-A RH-Firewall-1-INPUT -s 172.16.36.0/255.255.255.0 -j ACCEPT
:wq!#儲存,退出
備忘:
#192.168.21.128為伺服器IP地址
#172.16.36.0/255.255.255.0是第四步中設定的pptp虛擬撥號伺服器IP位址區段
/etc/init.d/iptables restart #重啟防火牆
chkconfig iptables on #設定開機啟動
cat /etc/sysconfig/iptables#查看防火牆設定檔
# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013
*nat
: PREROUTING ACCEPT [60:4680]
: POSTROUTING ACCEPT [4:258]
:OUTPUT ACCEPT [4:258]
-A POSTROUTING -s 172.16.36.0/255.255.255.0 -j SNAT --to-source 192.168.21.128
COMMIT
# Completed on Wed Dec 11 20:21:08 2013
# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [94:16159]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A FORWARD -s 172.16.36.0/255.255.255.0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT
-A RH-Firewall-1-INPUT -s 172.16.36.0/255.255.255.0 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Dec 11 20:21:08 2013
八、設定開機自動建立ppp裝置節點(系統重新啟動後有可能會丟失此檔案,導致pptp用戶端撥號出現錯誤619)
vi /etc/rc.d/rc.local#編輯
mknod /dev/ppp c 108 0#在檔案最後添加此行代碼
:wq!#儲存,退出
至此,CentOS下PPTP VPN伺服器搭建完成,可以在Windows用戶端建立VPN串連,輸入伺服器外網IP地址,用上面配置的帳號、密碼進行串連。
原文連結:http://www.osyunwei.com/archives/7407.html