快捷搜索:

Linux单网卡架设VPN并NAT共享上网

办事器应用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

改动localipremoteip

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

这个文件里面设置登岸用的账号密码等信息

设置款式是:

# clientserversecretIP addresses

abc*123456

第一个是用户名然后是办事器地址然后是登岸所用的密码着末是为客户拨号后分配的IP地址,不指定的话便是系统自动分配

以上历程之后,咱的PPTPD就设置设置设备摆设摆设好了哈

因为办事器采纳了shorewall防火墙,必要开放端口1723,47和gre协议

编辑/etc/shorewall/rules

增添:

ACCEPTnet$FWgre

ACCEPTnet$FWtcp1723

ACCEPTnet$FWtcp47

然后重启下shorewall:

sudo shorewall restart

开始测试在windows上VPN拨号吧

windows下VPN连接建立措施就不多说了哈

OK,测试VPN可以拨通了,然则还不能经由过程办事器的收集连接互联网,可能你会发明,除了造访办事器,其他你什么都干不了

下面来做NAT,不过这个地方我也没做得很好,还有点缺陷,盼望今后能办理这个问题

拨通VPN后,在办事器上应用ifconfig可以看到多了一个PPP*的收集连接,例如我这里是ppp0

做NAT我也应用shorewall来做

改动/etc/shorewall/interface

增添:

ppp0ipv4

改动/etc/shorewall/zones

增添:

pppppp0

改动/etc/shorewall/masq

增添:

eth0ppp0

OK,然后重启shorewall

sudo shorewall restart

NAT设置设置设备摆设摆设好了

这里要留意的是ppp0必然要存在,否则shorewall要报错,这个便是shorewall不够的地方了,不敷机动。

假如你不用shorewall 防火墙,直接应用iptables指令进行dnat操作,就不会由于没有ppp0连接而报错了。

您可能还会对下面的文章感兴趣: