CentOS上搭建V*N

pw36 9年前發布 | 19K 次閱讀 CentOS

1.檢查服務器是否有必要的支持。如果檢查結果沒有這些支持的話,是不能安裝pptp的。命令:
modprobe ppp-compress-18 && echo ok
 這條執行執行后,顯示“ok”則表明通過。不過接下來還需要做另一個檢查,輸入指令:
cat /dev/net/tun
 如果顯示如下信息,說明通過,如果不支持,可以給vps商發ticket開通tun,大部分美國vps商都可以支持:
cat: /dev/net/tun: File descriptor in bad state
 上面的兩個只要一條通過,就能安裝V*N(pptp)

2.準備環境
PPTPD要求Linux內核支持mppe,一般來說CentOS安裝時已經包含了;下面安裝ppp與iptables:
yum install ppp iptables
 
3、安裝PPTPD
對于32位CentOS,執行
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
對于64位CentOS,執行
wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm
上面兩個是el5內核的rpm包,如果是el6,執行
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/i386/pptpd-1.4.0-1.el6.i686.rpm
如果想要從yum直接安裝,可以 
rpm -Uvh http://poptop.sourceforge.net/yum/stable/pptp-release-current.noarch.rpm
yum search pptpd
如果上訴url都失效了,可以直接訪問http://poptop.sourceforge.net找找看

4.修改配置
編輯PPTP配置文件 /etc/ppp/options.pptpd 添加內容如下:
ms-dns 8.8.8.8 
ms-dns 8.8.4.4 
編輯配置文件 /etc/pptpd.conf ,添加內容如下:
/etc/ppp/options.pptpd
localip 192.168.254.1
remoteip 192.168.254.100-254

  • 其中localip與remoteip定義了客戶端連接VN服務器后被分配到的內網IP地址,可根據需要自己修改。
    現在對用戶認證文件 /etc/ppp/chap-secrets 進行配置,內容如下:
    testuser pptpd testpwd

  • testuser、testpwd對應修改為自己希望的V*N登錄用戶名和密碼
    將 /etc/sysctl.conf 文件中net.ipv4.ip_forward設置為 1 (如果沒有,則按照格式新建一行):
    net.ipv4.ip_forward = 1
    同時在“net.ipv4.tcp_syncookies = 1”前面加# 變成:
    # net.ipv4.tcp_syncookies = 1
    保存退出。執行
    /sbin/sysctl -p
    使之生效。
     
    5.設置iptables轉發
    /etc/init.d/iptables start
    /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.254.0/24 -j MASQUERADE
    /etc/init.d/iptables save
    /etc/init.d/iptables restart 
  • 注意,上面的192.168.254.0應該與之前設置的網段對應。
     
    6.去除加密(部分VPS不支持加密)
    這一步,一般可以省略,主要看你那是什么VPS。
    編輯/etc/ppp/options.pptpd(vim /etc/ppp/options.pptpd),在require-mppe-128前面加個#(# require-mppe-128);
    VN連接屬性里,加密方式選擇為可選加密,并允許未加密的密碼。
    最后重啟下PPTPD即可:

    7.設置開機啟動
    chkconfig pptpd on
    chkconfig iptables on

    重啟服務器即可進行連接,并且能夠正常上網。
    如果重啟服務器后,無法連接V
    N,首先檢查服務器的PPTP服務1723端口是否已打開(注意設置防火墻允許此端口);如果可以連接V*N,但是無法正常上網,則檢查iptables是否正常轉發。
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT
    service iptables save
    service iptables restart
 本文由用戶 pw36 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!