歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 搭建虛擬私人網絡

搭建虛擬私人網絡

日期:2017/3/1 12:24:27   编辑:關於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