linux 搭建VPN服务器 - Qzone日志
来源:百度文库 编辑:神马文学网 时间:2024/05/04 23:58:25
linux 搭建VPN服务器
1.下载相应的安装包。
由于Linux本身并没有集成PPTP功能,所以需要安装相关组件以让我们的RedHat支持PPTP,根据内核的版本,下载相应的安装包,我这里内
核是Linux version 2.6.9-42,进入/temp目录,并下载安装包:
#cd /temp
#wgethttp://poptop.sourceforge.net/yum/stable/rhel4/i386/ppp-2.4.3-7.rhel4.i386.rpm
#wgethttp://poptop.sourceforge.net/yum/stable/rhel4/i386/pptpd-1.3.4-1.rhel4.i386.rpm
#wgethttp://poptop.sourceforge.net/yum/stable/rhel4/i386/dkms-2.0.17.5-1.noarch.rpm
#wgethttp://poptop.sourceforge.net/yum/stable/rhel4/i386/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
2.安装pptpd。
#cd /temp
#rpm -Uvh ppp-2.4.3-7.rhel4.i386.rpm
#rpm -ivh pptpd-1.3.4-1.rhel4.i386.rpm
#rpm -ivh dkms-2.0.17.5-1.noarch.rpm
#rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
3.加载内核模块
检查kernel module是否正常
#modprobe ppp-compress-18 && echo ok
ok
如果出现OK就说明是正常的
#modprobe ppp-compress-18 && echo ok
FATAL: Module ppp_mppe not found.
Install them with command "rpm -ivh".
出现此提示,表明模块没有加载成功,或者内核源代码没有安装,按照以上步骤应该是不会出现此错误
4.vpn服务器设置
定制网络设置,注意如果存在多个内网网卡,则需要在vpn中设定路由表,否则过别情况无法访问到内网
内网卡:192.168.0.200(并配置router:route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.0.1)
外网卡:202.177.14.X
#cd /etc/sysconfig/network-scripts
#vi ifcfg-eth0
---------------------------------------------------
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:2F:58:F4:4E
IPADDR=192.168.0.200
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
---------------------------------------------------
5.配置pptpd
#vi /etc/pptpd.conf
___________________________________
ppp /usr/sbin/pppd
debug
localip 192.168.219.1
remoteip 192.168.219.2-254
--------------------------------------------------------------
#vi /etc/ppp/options.pptpd
-----------------------------------
auth
lock
debug
proxyarp
lock
name 3gvpn
multilink
refuse-pap
refuse-chap
refuse-mschap
refuse-eap
refuse-mschap-v2
require-mppe
dump
logfile /var/log/pptpd.log
-----------------------------------
#vi /etc/ppp/chap-secrets
---------------------------------------------------------------
# Secrets for authentication using CHAP
# client server secret IP addresses
"username" pptpd "yourpassword" "*"
"admin" pptpd "password" "192.168.219.2"
---------------------------------------------------------------
每行一个用户信息,分别采用以上格式,用""引用,虽然是明文,但最好设置让此文件非属主不能够读
如果一个用户分配一个固定ip,则可以进一步进行行为控制,方便你的管理
6.创建一个脚本
创建一个脚本文件,用于启用iptables转发功能,实现中转上网,否则无法正常工作,并使此文件开机自启动!
#vi vpn_forward
#!/bin/bash
#2008.11.19
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
myvar=`iptables -L -t nat | grep SNAT`
if [ "X$myvar" = "X" ]; then
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 202.177.14.X
fi
myvar=`cat /proc/sys/net/ipv4/ip_forward`
if [ "X$myvar" = "X0" ]; then
echo "1" > /proc/sys/net/ipv4/ip_forward
fi
复制代码
#chmod +x vpn_forward
#cp vpn_forward /etc/rc.d/init.d/vpn_forward
#ln -s /etc/rc.d/init.d/vpn_forward /etc/rc.d/rc3.d/S94vpn_forward
说明:
其实可以在/etc/init.d/iptables中的start()那段代码中加入
if [ -f /usr/local/sbin/iptables.sh ]; then
/usr/local/sbin/iptables.sh
fi
这样就可以让我们前面写的脚本随iptables而启动或重启。
7.确保已经加载以下模块,主要针对内核版本而言, 否则NAT将不能够很好工作,在有些版本中可能存在问题
# modprobe -l >/home/modprode
# less modprode |grep ip_tables
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_tables.ko
# less modprode |grep ip_conntrack_ftp
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
# less modprode |grep ip_conntrack
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_tftp.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_proto_sctp.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_amanda.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_irc.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
1.下载相应的安装包。
由于Linux本身并没有集成PPTP功能,所以需要安装相关组件以让我们的RedHat支持PPTP,根据内核的版本,下载相应的安装包,我这里内
核是Linux version 2.6.9-42,进入/temp目录,并下载安装包:
#cd /temp
#wgethttp://poptop.sourceforge.net/yum/stable/rhel4/i386/ppp-2.4.3-7.rhel4.i386.rpm
#wgethttp://poptop.sourceforge.net/yum/stable/rhel4/i386/pptpd-1.3.4-1.rhel4.i386.rpm
#wgethttp://poptop.sourceforge.net/yum/stable/rhel4/i386/dkms-2.0.17.5-1.noarch.rpm
#wgethttp://poptop.sourceforge.net/yum/stable/rhel4/i386/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
2.安装pptpd。
#cd /temp
#rpm -Uvh ppp-2.4.3-7.rhel4.i386.rpm
#rpm -ivh pptpd-1.3.4-1.rhel4.i386.rpm
#rpm -ivh dkms-2.0.17.5-1.noarch.rpm
#rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
3.加载内核模块
检查kernel module是否正常
#modprobe ppp-compress-18 && echo ok
ok
如果出现OK就说明是正常的
#modprobe ppp-compress-18 && echo ok
FATAL: Module ppp_mppe not found.
Install them with command "rpm -ivh".
出现此提示,表明模块没有加载成功,或者内核源代码没有安装,按照以上步骤应该是不会出现此错误
4.vpn服务器设置
定制网络设置,注意如果存在多个内网网卡,则需要在vpn中设定路由表,否则过别情况无法访问到内网
内网卡:192.168.0.200(并配置router:route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.0.1)
外网卡:202.177.14.X
#cd /etc/sysconfig/network-scripts
#vi ifcfg-eth0
---------------------------------------------------
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:2F:58:F4:4E
IPADDR=192.168.0.200
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
---------------------------------------------------
5.配置pptpd
#vi /etc/pptpd.conf
___________________________________
ppp /usr/sbin/pppd
debug
localip 192.168.219.1
remoteip 192.168.219.2-254
--------------------------------------------------------------
#vi /etc/ppp/options.pptpd
-----------------------------------
auth
lock
debug
proxyarp
lock
name 3gvpn
multilink
refuse-pap
refuse-chap
refuse-mschap
refuse-eap
refuse-mschap-v2
require-mppe
dump
logfile /var/log/pptpd.log
-----------------------------------
#vi /etc/ppp/chap-secrets
---------------------------------------------------------------
# Secrets for authentication using CHAP
# client server secret IP addresses
"username" pptpd "yourpassword" "*"
"admin" pptpd "password" "192.168.219.2"
---------------------------------------------------------------
每行一个用户信息,分别采用以上格式,用""引用,虽然是明文,但最好设置让此文件非属主不能够读
如果一个用户分配一个固定ip,则可以进一步进行行为控制,方便你的管理
6.创建一个脚本
创建一个脚本文件,用于启用iptables转发功能,实现中转上网,否则无法正常工作,并使此文件开机自启动!
#vi vpn_forward
#!/bin/bash
#2008.11.19
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
myvar=`iptables -L -t nat | grep SNAT`
if [ "X$myvar" = "X" ]; then
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 202.177.14.X
fi
myvar=`cat /proc/sys/net/ipv4/ip_forward`
if [ "X$myvar" = "X0" ]; then
echo "1" > /proc/sys/net/ipv4/ip_forward
fi
复制代码
#chmod +x vpn_forward
#cp vpn_forward /etc/rc.d/init.d/vpn_forward
#ln -s /etc/rc.d/init.d/vpn_forward /etc/rc.d/rc3.d/S94vpn_forward
说明:
其实可以在/etc/init.d/iptables中的start()那段代码中加入
if [ -f /usr/local/sbin/iptables.sh ]; then
/usr/local/sbin/iptables.sh
fi
这样就可以让我们前面写的脚本随iptables而启动或重启。
7.确保已经加载以下模块,主要针对内核版本而言, 否则NAT将不能够很好工作,在有些版本中可能存在问题
# modprobe -l >/home/modprode
# less modprode |grep ip_tables
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_tables.ko
# less modprode |grep ip_conntrack_ftp
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
# less modprode |grep ip_conntrack
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_tftp.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_proto_sctp.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_amanda.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_irc.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
linux 搭建VPN服务器 - Qzone日志
linux 搭建VPN服务器
Linux下的VPN服务器的搭建
Linux下的VPN服务器的搭建
win2003搭建VPN服务器
Linux工作环境搭建日志
用ISA2006搭建VPN服务器 - 『 网络安全解决方案ISA Server 』 - 网...
Windows server 2003搭建VPN服务器 - 廖敏的空间 - lmzhm -...
[RHEL5企业级Linux服务攻略]--第1季 Linux服务器的搭建与测试 - 王乾D...
VPN服务器架构技术
网管经验谈:配置Linux下的VPN网络|IT168 服务器专区
Linux syslog日志服务器架设攻略
Linux服务器日志文件查找技巧精粹
在Linux和Windows下搭建CVS服务器与CVS客户端的详细配置指南
【原创系列】玩转Samba之Samba服务器搭建全程讲解_锋芒网-Oracle+Linux...
【原创系列】献给初学者:轻松快捷搭建VSFTP服务器_锋芒网-Oracle+Linux专业...
搭建Samba服务器
搭建VSFTP服务器
如何创建Windows VPN服务器
轻松搭建网络流媒体服务器
Ubuntu搭建FTP服务器方法
如何有效建立Win2000 VPN服务器
用KWF打造与众不同的VPN服务器
FREEBSD下VPN服务器的维护(openvpn)