歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

搭建虛擬私人網絡

搭建環境:   1.檢測搭建的環境要求   #cat /dev/net/tun 如果這條指令顯示結果為下面的文本,則表明通過: cat: /dev/net/tun: File descriptor in bad state   2.安裝pptp apt-get install pptpd   3.編輯 vi /etc/pptpd.conf   此地方地設置的IP在後面會用到。。。。注意。。。。`   去掉文件最末端的 localip 和 remoteip 兩個參數的注釋(可以進行相應地修改,可我沒有)   localip 10.100.0.1   remoteip 10.100.0.2-10 localip 是 VPN 連通後服務器的 ip 地址,而 remoteip 則是客戶端的可分配 ip 地址。   4.編輯 vi /etc/ppp/pptpd-options   需要改變其中的 ms-dns 選項,為 VPN 客戶端指派 DNS 服務器地址   ms-dns 8.8.8.8   ms-dns 8.8.4.4   解析:ms-dns 8.8.8.8, ms-dns 8.8.4.4是使用google的dns服務器。   5.編輯 vi /etc/ppp/chap-secrets   存放著VPN的用戶名和密碼   如文件中注釋所示,第一列是用戶名,第二列是名(默認寫 pptpd 即可,如果在 pptpd-options 文件中更改過的話,注意這裡保持一致),第三列是密碼,第四列是 IP 限制(不做限制寫 * 即可)   例子:   vpn1 pptpd "123456789" *   6.我們需要重啟 pptpd 服務使新配置生效   /etc/init.d/pptpd restart   至此,如果我們建立連接之後,將會發現除了可以訪問服務器的資源,其余內外和互聯網的內容均無法訪問。如果需要訪問這些內容的話,我們還需要進一步設置: 首先,開啟 ipv4 forward 。方法是,修改 /etc/sysctl.conf,找到類似下面的行並取消它們的注釋(*.ipv4.* = 1的都要去掉注釋哦):       7.編輯 vi /etc/sysctl.conf   取消如下注釋:(有問題酒吧的話,   *.ipv4.* = 1     的都去掉注釋)   net.ipv4.ip_forward=1 使配置生效:   sysctl -p 作用:修改內核設置,使其支持轉發   有些時候,經過這樣設置,客戶端機器就可以上網了(我在虛擬機上這樣操作後就可以了)。 但我在實驗室的服務器上這樣操作後仍然無法訪問網絡,這樣我們就需要建立一個 NAT。這裡我們使用強大的 iptables 來建立 NAT。首先,先安裝 iptables:   8.添加iptables轉發規則等操作   啟動iptables和nat轉發功能,很關鍵的呀   1.安裝iptables   apt-get intall iptables 2.為了客戶端能夠順利連接到VPN服務器,還需主機防火牆開放VPN端口(默認為1723)    sudo iptables -I INPUT -p tcp --dport 1723 -j ACCEPT  sudo iptables -I INPUT -p tcp --dport 47 -j ACCEPT  sudo iptables -I OUTPUT -p tcp --dport 1723 -j ACCEPT  sudo iptables -I OUTPUT -p tcp --dport 47 -j ACCEPT 3.然後,我們向 nat 表中加入一條規則:   設置iptables NAT轉發   iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE 這裡的設置與之前的 /etc/pptpd.conf有關聯,詳細查閱:http://www.dabu.info/centos6-4-structures-pptp-vpn.html裡地 第四步:啟動pptp vpn服務和iptables   4.這樣操作後,客戶端機器應該就可以上網了。 但是,只是這樣,iptables 的規則會在下次重啟時被清除,所以我們還需要把它保存下來,方法是使用 iptables-save 命令:   iptables-save > /etc/iptables-rules   按著教程走,應該到了這裡了   5.編輯vi /etc/network/interfaces   找到 eth0 那一節,在對 eth0 的設置最末尾加上下面這句:   pre-up iptables-restore < /etc/iptables-rules     可是我這裡我的文件裡面沒有此eth0,估計網卡名稱不一樣,可用ifconfig查看   詳細可查閱:http://www.dabu.info/centos6-4-structures-pptp-vpn.html   6.設置MTU來確保過大的包不會被丟棄(這個可以不做)   iptables -I FORWARD -s 192.168.0.0/24 -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1300   9.啟動服務   /etc/init.d/pptpd restart  
Copyright © Linux教程網 All Rights Reserved