Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->服务器相关 ->正文

利用openvpn+linux快速建立企业VPN

来源: 作者: 时间:2007-04-11 点击: [收藏] [投稿]

openvpn介绍http://openvpn.sourceforge.net/ ,不多说了。

openvpn可工作于两种模式:

一种是IP遂道路由模式,主要应用于点对点。

一种是基于以太网的遂道桥模式, 应用于点对多点,有多个分支机构。

本文介绍的配置实例是第一种。

拓扑图:

局域网1: OFFICE主机装redhat9.0 两块网卡

eth1接公网 61.131.58.x ,

eth0接 内网192.168.1.56

vpn 10.1.0.1

A主机 192.168.1.222

局域网2:

HOME主机装redhat9.0两块网卡

eth0 接公网 218.85.158.244

eth1 接内网 192.168.0.235

vpn 10.1.0.2

B主机 192.168.0.45

环境:redhat9.0+lzo+openssl+openvpn

openssl用来进行加密,lzo用来进行数据压缩。

下载地址 http://prdownloads.sourceforge.net/openvpn/openvpn-2.0_beta7.tar.gz

http://www.oberhumer.com/opensource/lzo/download/lzo-1.08.tar.gz

先检查openssl是否已安装

rpm –qa | grep openssl

没有请先装openssl, openssl怎么样安装就不介绍了。

我把openvpn-2.0.beta7.tar.gz和lzo-1.08.tar.gz下载到/home

#cd /home

#tar zxvf lzo-1.08.tar.gz

#cd lzo-1.08.

#./comfigure

#make

#make install

#tar zxvf openvpn-2.0_beta7.tar.gz

#cd openvpn-2.0_beta7

#./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib

#make

#make install

#mkdir /etc/openvpn

#cd /etc/openvpn

#openvpn --genkey --secret static.key

把static.key从office主机复制到home主机的/etc/openvpn目录中

office#scp static.key root@218.85.158.244:/etc/openvpn

office#cd /home/openvpn-2.0_beta7/sample-config-files

office#cp static-office.conf /etc/openvpn

office#cp firewall.sh /etc/openvpn

office#cp openvpn-startup.sh /etc/openvpn

office#cp office.up /etc/openvpn

修改static-office.conf ,firewall.sh ,openvpn-startup.sh,office.up

我们先来看office主机的这几个配置文件。

static-office.conf配置如下:

dev tun0

remote 218.85.158.244 #为对端的公网ip

ifconfig 10.1.0.1 10.1.0.2 #为本端和对端的vpn ip地址

secret /etc/openvpn/static.key #密钥

port 5000

comp-lzo

ping 15

ping 15

ping-restart 45

ping-timer-rem

persist-tun

persist-key

verb 3

office主机的firewall.sh脚本如下:

#!/bin/bash

PRIVATE=192.168.1.0/24

LOOP=127.0.0.1

iptables -P OUTPUT DROP

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -F

iptables -P OUTPUT ACCEPT

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -A INPUT -i eth1 -s $LOOP -j DROP

iptables -A FORWARD -i eth1 -s $LOOP -j DROP

iptables -A INPUT -i eth1 -d $LOOP -j DROP

iptables -A FORWARD -i eth1 -d $LOOP -j DROP

iptables -A FORWARD -p tcp --sport 137:139 -o eth1 -j DROP

iptables -A FORWARD -p udp --sport 137:139 -o eth1 -j DROP

iptables -A OUTPUT -p tcp --sport 137:139 -o eth1 -j DROP

iptables -A OUTPUT -p udp --sport 137:139 -o eth1 -j DROP

iptables -A FORWARD -s ! $PRIVATE -i eth0 -j DROP

iptables -A INPUT -s $LOOP -j ACCEPT

iptables -A INPUT -d $LOOP -j ACCEPT

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:剖析Linux系统下基于NUMA构建的服务器   下一篇:详细解析Apache服务器实现的用户验证

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号