LINUX下局域网之间(LAN TO LAN) VPN方法

来源:互联网 发布:mac开发android 编辑:程序博客网 时间:2024/05/18 00:55

       我用的系统是KUBUNTU,上头的要求是弄个VPN服务器,只是一台连接VPN,其他局域网内电脑共用这个VPN连接。

这个要是在WINDOWS上只要勾选连接共享就行了,但是在LINUX上就有点儿麻烦了。

       首先要设置networking,让系统自动连接Internet,方法是在/etc/init.d/networking添加下列行(红色):   

#/etc/network/interfaces

    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 192.168.1.123
    gateway 192.168.1.1 
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255

#end

重启networking,连接网络
$  sudo /etc/init.d/networking restart

安装pptp client
$  sudo apt-get install pptp-linux

修改/etc/ppp/options.pptp文件,添加

lock

noauth

refuse-pap
refuse-eap
refuse-chap
refuse-mschap  //重点是这个

nosdcomp
nodeflate

require-mppe //加密方式,PS:不是require-mppe-128哦

修改/etc/ppp/chap-secrets密码文件

# added by pptpsetup for
vpnclient        server     secret                  IP addresses

 aaaaa              vpn        "123456789"              *

创建/etc/ppp/peers/vpn

# written by pptpsetup
pty "pptp 123.123.123.123 --nolaunchpppd"
noauth
name aaaaa  //就是上面那个vpnclient
remotename vpn
linkname vpn
ipparam vpn
usepeerdns
require-mppe-128
refuse-chap
refuse-eap
refuse-pap
refuse-mschap

file /etc/ppp/options.pptp

配置完成!启动vpn连接

$  sudo pon vpn

添加目标局域网中网段路由

$  sudo route add -net 172.168.3.0/24 dev ppp0

ping 一下试试应该通了,如没有通,就重启一下,再连VPN

上面的步骤也可以写成脚本,实现自启动,方法很多,这儿就不说了。


设置iptables,这是iptables-save,把它保存在/etc/下,

# Generated by iptables-save v1.4.10 on Wed Feb  1 16:13:46 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[41:1908] -A INPUT -s 172.168.3.0/24-i ppp0 -j ACCEPT
[93671:51047460] -A INPUT -j ACCEPT
[1092:1112594] -A FORWARD -s172.168.3.0/24 -j ACCEPT
[1096:215649] -A FORWARD -d 172.168.3.0/24 -o ppp0 -j ACCEPT
[26405:2291459] -A FORWARD -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
[9:756] -A OUTPUT -d 172.168.3.0/24 -o ppp0 -j ACCEPT
[96111:13629856] -A OUTPUT -j ACCEPT
COMMIT
# Completed on Wed Feb  1 16:13:46 2012
# Generated by iptables-save v1.4.10 on Wed Feb  1 16:13:46 2012
*nat
:PREROUTING ACCEPT [1190:96330]
:INPUT ACCEPT [448:57330]
:OUTPUT ACCEPT [589:38319]
:POSTROUTING ACCEPT [42:5180]
[575:34915] -A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Wed Feb  1 16:13:46 2012

载入iptables规则

$   iptables-restore -c /etc/iptables-save

大功告成!