歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

Ubuntu單網卡架設VPN並NAT共享上網辦法

服務器使用shorewall作為防火牆,實際上shorewall只是作為iptables的一個配置程序而已,實際上防火牆還是iptables。

首先是建立VPN,使用軟件包PPTPD,這樣做的好處是方便認證,也支持windows,安全性不如openvpn,但是簡單實用。

服務器環境:

OS:ubuntu server 8.04.1
firewall:shorewall
IP:192.168.2.100

安裝:

sudo apt-get install pptpd


修改配置文件:/etc/pptpd.conf

修改localip  remoteip

localip 192.168.250.1
remoteip 192.168.250.234-238,192.168.250.245


這裡隨便找了個IP段localip相當於撥號後的服務器地址,可以寫成本機IP,或者和remoteip的IP段相同的一個IP地址

remoteip是客戶機分配的IP段,這裡分配了12個IP地址,也就只允許12個機器同時通過VPN連接,再增加就不能分配到IP地址了

修改配置文件:/etc/ppp/chap-secrets

這個文件裡面設置登陸用的賬號密碼等信息

設置格式是:

# client        server  secret                  IP addresses
abc       *            123456


第一個是用戶名,然後是服務器地址,然後是登陸所用的密碼,最後是為客戶撥號後分配的IP地址,不指定的話就是系統自動分配。

以上過程之後,咱的PPTPD就配置好了哈

由於服務器采用了shorewall防火牆,需要開放端口1723,47和gre協議

編輯/etc/shorewall/rules

增加:

ACCEPT          net             $FW             gre
ACCEPT          net             $FW             tcp     1723
ACCEPT          net             $FW             tcp     47


然後重啟下shorewall:

sudo shorewall restart


開始測試在windows上VPN撥號吧

windows下VPN連接建立方法就不多說了哈

OK,測試VPN可以撥通了,但是還不能通過服務器的網絡連接互聯網,可能你會發現,除了訪問服務器,其他你什麼都干不了

下面來做NAT,不過這個地方我也沒做得很好,還有點缺陷,希望以後能解決這個問題

撥通VPN後,在服務器上使用ifconfig可以看到多了一個PPP*的網絡連接,例如我這裡是ppp0

做NAT我也使用shorewall來做

修改/etc/shorewall/interface

增加:

ppp0   ipv4


修改/etc/shorewall/zones

增加:

ppp    ppp0


修改/etc/shorewall/masq

增加:

eth0                    ppp0


OK,然後重啟shorewall

sudo shorewall restart


NAT配置好了!!

這裡要注意的是ppp0一定要存在,否則shorewall要報錯,這個就是shorewall不足的地方了,不夠靈活。

如果你不用shorewall 防火牆,直接使用iptables指令進行dnat操作,就不會因為沒有ppp0連接而報錯了。

感謝來自OwnLinux:Ubuntu 單網卡架設VPN並NAT共享上網辦法的稿件

Copyright © Linux教程網 All Rights Reserved