2024年3月17日发(作者:严翊君)
13-5-8利用ADSL组建VPN网络-jiangdaoyou-ChinaUnix博客
Chinaunix首页 | 论坛 | 博客 登录 | 注册
博文
阿友博客
网络技术与信息安全精华资料站点
【公布获奖】2-3月原创博文评选
首页 | 博文目录 | 关于我
利用ADSL组建VPN网络
2007-03-03 09:34:45
分类: 系统运维
利用ADSL组建VPN网络
(姜道友 2005-09-17)
jiangdaoyou
博客访问: 1245922
博文数量: 205
博客积分: 9934
博客等级: 上将
技术积分: 2060
用 户 组: 普通用户
注册时间: 2006-04-22 09:16
前言:
很多公司总部采用专线上网,而子公司或办事处采用ADSL上网,因分公司或办事处需要访问公司总部
的应用服务器,所以需要组建VPN网络。但分公司或办事处很难承担专线的费用,这时我们可以利
用ADSL组建VPN网络。具体方案为:我们可以在公司总部安装一台专门连接远程ADSL站点的VPN服务器,采
用固定IP地址。而分公司或办事处采用宽带VPN路由器,并使用DDNS(动态域名,如花生壳)。
办事处宽带路由器配置:
办事处可以购买一款VPN路由器,要求支持动态域名,如:。然后配置到总公司VPN服务器
的Net to Net之VPN
加关注
论坛
短消息
加好友
总部的vpn服务器配置:
总部的VPN服务器可以安装一台Linux,并配置openswan之VPN服务,最简单的方法是安装一台ipcop主
机,其上已经集成了防火墙和VPN服务。然后编写一个VPN自动刷新程序,功能是:当远程站点
的ADSL重拨而导致获取的公网IP地址发生改变,远程站点的宽带VPN路由器上会自动更新DDNS,利用此
程序来实时检测远程动态域名DDNS解析的IP地址,一旦发生改变,将刷新VPN通道。下面是本人编写
的VPN自动刷新程序如下:
echo -e "ttnn"
echo -e "033[1;031m n"
echo "######################################################################"
echo "# DDNS VPN auto flush system 3.0 #"
echo "# E-mail:jdaoyou@ #"
echo "######################################################################"
echo -e "033[m n"
echo ""
echo ""
############ dns nameserver ###################
nameserver=(61.177.95.125 61.132.94.158 .......... .......略) 定义DNS服务器
############ DDNS name var###################
ddnsname=( ............略) 定义远程站点的DDNS
############ VPN Tunnel name var###################
tunnelname=(xxxx yyyy .............略) 定义VPN隧道名称
############ get changed IP program ###################
getchangeip(){ 此函数主要检测DDNS解析的IP地址是否有变化
文章分类
全部博文(205)
网络基础(8)
IT职场(4)
网络技术与cisco(50)
BSD(2)
系统管理(2)
oracle(2)
solaris(4)
防火墙与vpn(70)
AD和Exchange(6)
安全管理(24)
linux(14)
备份与恢复(4)
双机(6)
shell(7)
未分配的博文(2)
文章存档
2010年(2)
2009年(2)
2008年(16)
2007年(84)
2006年(101)
我的朋友
/1/5
13-5-8利用ADSL组建VPN网络-jiangdaoyou-ChinaUnix博客
directory="/home/jiangvpn"
ipinf_file=`/bin/date |awk '{print $6""$2""$3"_"$4}'|awk -F: '{print $1""$2""$3}'`
qinggzha
/usr/bin/nslookup 61.177.95.125|grep "Add"|grep -v "${nameserver[0]}"|grep -v "${nameserver[1]}"|grep
-v "${nameserver[2]}"|grep -v "${nameserver[3]}"|grep -v "127.0.0.1"|awk '{printf
"%-20st%-20sn",$2"t",""}' > $directory/$ipinf_file
/usr/bin/nslookup 61.177.95.125|grep "Add"|grep -v "${nameserver[0]}"|grep -v "${nameserver[1]}"|grep
最近访客
那片依然thomasnexiaomabe
-v "${nameserver[2]}"|grep -v "${nameserver[3]}"|grep -v "127.0.0.1"|awk '{printf
"%-20st%-20sn",$2"t",""}' >> $directory/$ipinf_file
……….略
lxykliwentaoginger18
订阅
if [ -e $directory/ipoldinfo ];then 这部分为检测DDNS对应的IP是否有改变
/usr/bin/diff $directory/$ipinf_file $directory/ipoldinfo |grep -v ">" > $directory/changeip
/bin/mv $directory/$ipinf_file $directory/ipoldinfo
else
推荐博文
/bin/cp $directory/$ipinf_file $directory/ipoldinfo
getchangeip
·云计算与金融系统的数据中心...
fi
·有关DBLINK操作的语句执行机...
}
·apache-cassandra-0.6.2版本...
·基于RHEV Manager 3.0升级成R...
#################### Log ########################
·tcp_socket 多异常情况的 简...
热词专题
updatelog(){
·rj45 驱动电路
·android 堆栈信息
if [ -e $directory/ddnsupdatelog ];then
·SIGSEGVSegmentation fault
..........略 这部分主要功能是当远程DDNS有变化时记录日志
·哈夫曼编码
fi
·xp and dsdm scrum
}
友情链接
############ flush route list ###################
changeroute(){
略 这部分为如果需要改变路由,可以在刷新通道前设置路由表 注:这部分主要是双线路考虑的
}
############ VPN flush program ###################
flushddnsvpn(){ 此函数功能为:刷新已经改变peer IP的VPN通道
NEWIP=`/bin/cat /home/jiangvpn/ipoldinfo|grep $1|awk '{print $1}'`
OLDIP=`/bin/cat /etc/hosts|grep $1|awk '{print $1}'`
if [ "$NEWIP" != "$OLDIP" ] ; then
echo -e "033[1;032m$1 tunnel is flushing ...........n"
updatelog $1
/usr/sbin/ipsec auto --delete $1
#/bin/cat /home/jiangvpn/ipoldinfo >> /etc/hosts
vim -e -s -c ":%s/$OLDIP/$NEWIP/g" -c ":wq" /etc/hosts
#sed 's/$OLDIP/$NEWIP/g' /etc/hosts|tee /etc/hosts
/2/5
2024年3月17日发(作者:严翊君)
13-5-8利用ADSL组建VPN网络-jiangdaoyou-ChinaUnix博客
Chinaunix首页 | 论坛 | 博客 登录 | 注册
博文
阿友博客
网络技术与信息安全精华资料站点
【公布获奖】2-3月原创博文评选
首页 | 博文目录 | 关于我
利用ADSL组建VPN网络
2007-03-03 09:34:45
分类: 系统运维
利用ADSL组建VPN网络
(姜道友 2005-09-17)
jiangdaoyou
博客访问: 1245922
博文数量: 205
博客积分: 9934
博客等级: 上将
技术积分: 2060
用 户 组: 普通用户
注册时间: 2006-04-22 09:16
前言:
很多公司总部采用专线上网,而子公司或办事处采用ADSL上网,因分公司或办事处需要访问公司总部
的应用服务器,所以需要组建VPN网络。但分公司或办事处很难承担专线的费用,这时我们可以利
用ADSL组建VPN网络。具体方案为:我们可以在公司总部安装一台专门连接远程ADSL站点的VPN服务器,采
用固定IP地址。而分公司或办事处采用宽带VPN路由器,并使用DDNS(动态域名,如花生壳)。
办事处宽带路由器配置:
办事处可以购买一款VPN路由器,要求支持动态域名,如:。然后配置到总公司VPN服务器
的Net to Net之VPN
加关注
论坛
短消息
加好友
总部的vpn服务器配置:
总部的VPN服务器可以安装一台Linux,并配置openswan之VPN服务,最简单的方法是安装一台ipcop主
机,其上已经集成了防火墙和VPN服务。然后编写一个VPN自动刷新程序,功能是:当远程站点
的ADSL重拨而导致获取的公网IP地址发生改变,远程站点的宽带VPN路由器上会自动更新DDNS,利用此
程序来实时检测远程动态域名DDNS解析的IP地址,一旦发生改变,将刷新VPN通道。下面是本人编写
的VPN自动刷新程序如下:
echo -e "ttnn"
echo -e "033[1;031m n"
echo "######################################################################"
echo "# DDNS VPN auto flush system 3.0 #"
echo "# E-mail:jdaoyou@ #"
echo "######################################################################"
echo -e "033[m n"
echo ""
echo ""
############ dns nameserver ###################
nameserver=(61.177.95.125 61.132.94.158 .......... .......略) 定义DNS服务器
############ DDNS name var###################
ddnsname=( ............略) 定义远程站点的DDNS
############ VPN Tunnel name var###################
tunnelname=(xxxx yyyy .............略) 定义VPN隧道名称
############ get changed IP program ###################
getchangeip(){ 此函数主要检测DDNS解析的IP地址是否有变化
文章分类
全部博文(205)
网络基础(8)
IT职场(4)
网络技术与cisco(50)
BSD(2)
系统管理(2)
oracle(2)
solaris(4)
防火墙与vpn(70)
AD和Exchange(6)
安全管理(24)
linux(14)
备份与恢复(4)
双机(6)
shell(7)
未分配的博文(2)
文章存档
2010年(2)
2009年(2)
2008年(16)
2007年(84)
2006年(101)
我的朋友
/1/5
13-5-8利用ADSL组建VPN网络-jiangdaoyou-ChinaUnix博客
directory="/home/jiangvpn"
ipinf_file=`/bin/date |awk '{print $6""$2""$3"_"$4}'|awk -F: '{print $1""$2""$3}'`
qinggzha
/usr/bin/nslookup 61.177.95.125|grep "Add"|grep -v "${nameserver[0]}"|grep -v "${nameserver[1]}"|grep
-v "${nameserver[2]}"|grep -v "${nameserver[3]}"|grep -v "127.0.0.1"|awk '{printf
"%-20st%-20sn",$2"t",""}' > $directory/$ipinf_file
/usr/bin/nslookup 61.177.95.125|grep "Add"|grep -v "${nameserver[0]}"|grep -v "${nameserver[1]}"|grep
最近访客
那片依然thomasnexiaomabe
-v "${nameserver[2]}"|grep -v "${nameserver[3]}"|grep -v "127.0.0.1"|awk '{printf
"%-20st%-20sn",$2"t",""}' >> $directory/$ipinf_file
……….略
lxykliwentaoginger18
订阅
if [ -e $directory/ipoldinfo ];then 这部分为检测DDNS对应的IP是否有改变
/usr/bin/diff $directory/$ipinf_file $directory/ipoldinfo |grep -v ">" > $directory/changeip
/bin/mv $directory/$ipinf_file $directory/ipoldinfo
else
推荐博文
/bin/cp $directory/$ipinf_file $directory/ipoldinfo
getchangeip
·云计算与金融系统的数据中心...
fi
·有关DBLINK操作的语句执行机...
}
·apache-cassandra-0.6.2版本...
·基于RHEV Manager 3.0升级成R...
#################### Log ########################
·tcp_socket 多异常情况的 简...
热词专题
updatelog(){
·rj45 驱动电路
·android 堆栈信息
if [ -e $directory/ddnsupdatelog ];then
·SIGSEGVSegmentation fault
..........略 这部分主要功能是当远程DDNS有变化时记录日志
·哈夫曼编码
fi
·xp and dsdm scrum
}
友情链接
############ flush route list ###################
changeroute(){
略 这部分为如果需要改变路由,可以在刷新通道前设置路由表 注:这部分主要是双线路考虑的
}
############ VPN flush program ###################
flushddnsvpn(){ 此函数功能为:刷新已经改变peer IP的VPN通道
NEWIP=`/bin/cat /home/jiangvpn/ipoldinfo|grep $1|awk '{print $1}'`
OLDIP=`/bin/cat /etc/hosts|grep $1|awk '{print $1}'`
if [ "$NEWIP" != "$OLDIP" ] ; then
echo -e "033[1;032m$1 tunnel is flushing ...........n"
updatelog $1
/usr/sbin/ipsec auto --delete $1
#/bin/cat /home/jiangvpn/ipoldinfo >> /etc/hosts
vim -e -s -c ":%s/$OLDIP/$NEWIP/g" -c ":wq" /etc/hosts
#sed 's/$OLDIP/$NEWIP/g' /etc/hosts|tee /etc/hosts
/2/5