利用open***+linux快速建立企業***

作者:yanyp

利用open***+linux快速建立企業***
open***介紹[url]http://open***.sourceforge.net/[/url] ,不多說了.
open***可工作於兩種模式:
一種是IP遂道路由模式,主要應用於點對點
一種是基於以太網的遂道橋模式, 應用於點對多點,有多個分支機構
本文介紹的配置實例是第一種
拓撲圖:
局域網1: OFFICE主機裝redhat9.0 兩塊網卡
eth1接公網 61.131.58.x ,
eth0接 內網192.168.1.56
*** 10.1.0.1
A主機 192.168.1.222
局域網2:
HOME主機裝redhat9.0兩塊網卡
eth0 接公網 218.85.158.244
eth1 接內網 192.168.0.235
*** 10.1.0.2
B主機 192.168.0.45

環境:redhat9.0+lzo+openssl+open***
openssl用來進行加密,lzo用來進行數據壓縮
下載地址 [url]http://prdownloads.sourceforge.net/open***/open***-2.0_beta7.tar.gz[/url]
[url]http://www.oberhumer.com/opensource/lzo/download/lzo-1.08.tar.gz[/url]

先檢查openssl是否已安裝
rpm –qa | grep openssl
沒有請先裝openssl, openssl如何安裝就不介紹了
我將open***-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 open***-2.0_beta7.tar.gz
#cd open***-2.0_beta7
#./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib
#make
#make install
#mkdir /etc/open***
#cd /etc/open***
#open*** --genkey --secret static.key
將static.key從office主機複製到home主機的/etc/open***目錄中
office#scp static.key [email protected]:/etc/open***
office#cd /home/open***-2.0_beta7/sample-config-files
office#cp static-office.conf /etc/open***
office#cp firewall.sh /etc/open***
office#cp open***-startup.sh /etc/open***
office#cp office.up /etc/open***
修改static-office.conf ,firewall.sh ,open***-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 #爲本端和對端的*** ip地址
secret /etc/open***/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

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

iptables -A INPUT -p tcp --dport http -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT

iptables -A INPUT -p udp --dport 5000 -j ACCEPT #open***默認使用udp 5000端口

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT #這兩句很重要
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

iptables -A INPUT -i eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT

iptables -A OUTPUT -m state --state NEW -o eth1 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o eth1 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -A POSTROUTING -s $PRIVATE -o eth1 -j MASQUERADE

office.up腳本配置如下:
#!/bin/bash
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.1.0.2 #此處是對端的*** ip地址
open***-startup.sh腳本配置如下:
#!/bin/bash
dir=/etc/open***
$dir/firewall.sh
modprobe tun
echo 1 > /proc/sys/net/ipv4/ip_forward
open*** --config /etc/open***/static-office.conf


home主機的4個配置文件
static-home.conf如下
dev tun0
remote 61.131.58.194
ifconfig 10.1.0.2 10.1.0.1
secret /etc/open***/static.key
port 5000
comp-lzo
ping 15
ping 15
ping-restart 45
ping-timer-rem
persist-tun
persist-key
verb 3

firewall.sh如下
#!/bin/bash
PRIVATE=192.168.0.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 eth0 -s $LOOP -j DROP
iptables -A FORWARD -i eth0 -s $LOOP -j DROP
iptables -A INPUT -i eth0 -d $LOOP -j DROP
iptables -A FORWARD -i eth0 -d $LOOP -j DROP

iptables -A FORWARD -p tcp --sport 137:139 -o eth0 -j DROP
iptables -A FORWARD -p udp --sport 137:139 -o eth0 -j DROP
iptables -A OUTPUT -p tcp --sport 137:139 -o eth0 -j DROP
iptables -A OUTPUT -p udp --sport 137:139 -o eth0 -j DROP

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

iptables -A INPUT -s $LOOP -j ACCEPT
iptables -A INPUT -d $LOOP -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

iptables -A INPUT -p tcp --dport http -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT

iptables -A INPUT -p udp --dport 5000 -j ACCEPT

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

iptables -A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -A POSTROUTING -s $PRIVATE -o eth0 -j MASQUERADE

home.up腳本如下:
#!/bin/bash
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.1.0.1
open***-startup.sh腳本如下:
#!/bin/bash
dir=/etc/open***
$dir/firewall.sh
modprobe tun
echo 1 > /proc/sys/net/ipv4/ip_forward
open*** --config /etc/open***/static-home.conf
最後需要注意的是在office和home主機的/etc/modules.conf都要加上一行:
alias char-major-10-200 tun
在office主機上
office#cd /etc/open***
office#./open***-startup.sh
office#./office.up
在home主機上
home#cd /etc/open***
home#./open***-startup.sh
home#./home.up
A主機的default gateway設爲192.168.1.56
B主機的default gateway設爲192.168.0.235
在A主機上ping 192.168.0.45
在home主機上用tcpdump監聽
home#tcpdump -i tun0
應該有echo request和echo reply
不行的話,在home#ping 10.1.0.1看兩個***網關是否通
[url]http://open***.sourceforge.net[/url] 上還有howto,faq,examples可參考
歡迎與我交流,
QQ:35907960
Mail:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章