Linux單網卡架設VPN并NAT共享上網

來源:本站原創 Linux 超過1,150 views圍觀 0條評論

服務器使用shorewall作為防火墻,實際上shorewall只是作為iptables的一個配置程序而已,實際上防火墻還是iptables;
首先是建立VPN,使用軟件包PPTPD,這樣做的好處是方便認證,也支持windows,安全性不如openvpn,但是簡單實用;

服務器環境:
OS:ubuntu server 8.10
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連接而報錯了。

文章轉載自網管之家:http://www.bitscn.com/os/linux/200811/154290.html

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=155轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏