酷!學園

精華區 => 酷!學園 精華區 => 主題作者是: netman 於 2005-09-12 20:37

主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-12 20:37
http://www.study-area.org/tips/openvpn.html

引用
一, 功能介紹

* SSL vpn 方案
* 可完整支援 L2 及 L3 連線
* 使用 CA 簽章確?#123;及?#91;密, ?#93;可使用單一鍵值對稱?#91;密
* 同時支援 Linux, FreeBSD, OS X 與 Windows
* 支援 tunnel 及 TAP 連線方式
* GPL 授權方式


二, 實作環境

2.1 server
   OS:    CentOS 4.1 Linux
   real IP:   192.168.100.151
   vpn IP:   10.8.0.1

2.2 client
   OS:   Windows XP(home)
   real IP:   192.168.100.x(dhcp)
   vpn IP:   10.8.0.x(server assigned)


三, 安裝

3.1 server

# 安裝 lzo (source rpm)
rpmbuild --rebuild http://openvpn.net/release/lzo-1.08-4.rf.src.rpm
rpm -ivh /usr/src/redhat/RPMS/i386/lzo-*.rpm

# 安裝 openvpn
mkdir /usr/src/pkgs
cd /usr/src/pkgs
wget http://openvpn.net/release/openvpn-2.0.2.tar.gz
rpmbuild -tb openvpn-2.0.2.tar.gz
rpm -ivh  /usr/src/redhat/RPMS/i386/openvpn-2.0.2-1.i386.rpm

# 複制?#93;定範例
cp -r /usr/share/doc/openvpn-2.0.2/easy-rsa/ /etc/openvpn/
cp /usr/share/doc/openvpn-2.0.2/sample-config-files/server.conf /etc/openvpn/

# ?#93;定 CA 環境
cd /etc/openvpn/easy-rsa/
vi vars
   export KEY_COUNTRY=TW
   export KEY_PROVINCE=Taiwan
   export KEY_CITY=Tainan
   export KEY_ORG="Study-Area"
   export KEY_EMAIL="netman@study-area.org"
. ./vars
./clean-all

# 建置 root CA
./build-ca
   Generating a 1024 bit RSA private key
   ......++++++
   ................++++++
   writing new private key to 'ca.key'
   -----
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [TW]:
   State or Province Name (full name) [Taiwan]:
   Locality Name (eg, city) [Tainan]:
   Organization Name (eg, company) [Study-Area]:
   Organizational Unit Name (eg, section) []:test
   Common Name (eg, your name or your server's hostname) []:CA
   Email Address [netman@study-area.org]:

# 建置 server key 及 crt
./build-key-server ovpnsrv1
   Generating a 1024 bit RSA private key
   ............................++++++
   ....++++++
   writing new private key to 'ovpnsrv1.key'
   -----
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [TW]:
   State or Province Name (full name) [Taiwan]:
   Locality Name (eg, city) [Tainan]:
   Organization Name (eg, company) [Study-Area]:
   Organizational Unit Name (eg, section) []:test
   Common Name (eg, your name or your server's hostname) []:ovpnsrv1
   Email Address [netman@study-area.org]:

   Please enter the following 'extra' attributes
   to be sent with your certificate request
   A challenge password []:
   An optional company name []:
   Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
   Check that the request matches the signature
   Signature ok
   The Subject's Distinguished Name is as follows
   countryName           :PRINTABLE:'TW'
   stateOrProvinceName   :PRINTABLE:'Taiwan'
   localityName          :PRINTABLE:'Tainan'
   organizationName      :PRINTABLE:'Study-Area'
   organizationalUnitName:PRINTABLE:'test'
   commonName            :PRINTABLE:'ovpnsrv1'
   emailAddress          :IA5STRING:'netman@study-area.org'
   Certificate is to be certified until Sep  7 20:36:58 2015 GMT (3650 days)
   Sign the certificate? [y/n]:y


   1 out of 1 certificate requests certified, commit? [y/n]y
   Write out database with 1 new entries
   Data Base Updated

# 建置 Diffie Hellman 參數
./build-dh
   Generating DH parameters, 1024 bit long safe prime, generator 2
   This is going to take a long time
   ..................................+............................................
   ..+............................................................................
   ...................+....................................+......................
   .......................+...

   
# 安裝 server 所需的 CA 文件
cp keys/ca.crt ../
cp keys/dh1024.pem ../
cp keys/ovpnsrv1.key ../
cp keys/ovpnsrv1.crt ../

# 配置 server ?#93;定檔(沒提及的請保持原樣)
cd ../
vi server.conf
   dev tap
   ;dev tun
   ca ca.crt
   cert ovpnsrv1.crt
   key ovpnsrv1.key  # This file should be kept secret

# 啟動 server
service openvpn restart
chkconfig openvpn on


--------------------------
3.2 Client

# 下載並安裝 openvpn (GUI 版本)
http://openvpn.se/files/install_packages/openvpn-2.0.2-gui-1.0.3-install.exe

# ?#93;定環境
cmd.exe
cd "c:\Program Files\OpenVPN\easy-rsa"
copy openssl.cnf.sample openssl.cnf
copy vars.bat.sample vars.bat
edit vars.bat
   (內容必需與 server 一至, 尤其 KEY_ORG 項目.)

# 建置 CA環境
vars

# 建置 client key 與 crs
build-key ovpnclt1
   ....
   Common Name (eg, your name or your server's hostname) []:ovpnclt1
   ....

# 提交 crs (請使用安全方式, 本例用 pscp.exe .)
pscp keys/ovpnclt1.csr root@192.168.100.151:/etc/openvpn/easy-rsa/keys

# 轉至 server, 簽署 client crt
------------------------
cd /etc/openvpn/easy-rsa/
./sign-req ovpnclt1
   Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
   Check that the request matches the signature
   Signature ok
   The Subject's Distinguished Name is as follows
   countryName           :PRINTABLE:'TW'
   stateOrProvinceName   :PRINTABLE:'Taiwan'
   localityName          :PRINTABLE:'Tainan'
   organizationName      :PRINTABLE:'Study-Area'
   organizationalUnitName:PRINTABLE:'test'
   commonName            :PRINTABLE:'ovpnclt1'
   emailAddress          :IA5STRING:'netman@study-area.org'
   Certificate is to be certified until Sep  7 21:07:33 2015 GMT (3650 days)
   Sign the certificate? [y/n]:y


   1 out of 1 certificate requests certified, commit? [y/n]y
   Write out database with 1 new entries
   Data Base Updated
------------------------

# 安裝 CA 文件
cd ..\config
pscp root@192.168.100.151:/etc/openvpn/easy-rsa/keys/ovpnclt1.crt  .\
pscp root@192.168.100.151:/etc/openvpn/easy-rsa/keys/ca.crt  .\
copy ..\easy-rsa\keys\ovpnclt1.key .\

# 複制 sample ?#93;定檔:
copy ..\sample-config\client.ovpn .\

# 配置 client 端?#93;定檔
右下角(OpenVPN GUI)
右鍵--> Edit Config (沒提及的, 請保持原貌)
   dev tap
   ;dev tun
   dev-node OpenVPN_Tap
   remote 192.168.100.151 1194
   ca ca.crt
   cert ovpnclt1.crt
   key ovpnclt1.key
   ns-cert-type server

# ?#93;定 openvpn TAP 界面
控制台-->網路連線-->TAP-Win32#(#)
右鍵-->重新命名-->OpenVPN_Tap

# 啟動 openvpn client
右下角(OpenVPN GUI)
右鍵--> Connect

# 測試
ping 10.8.0.1



四, 注意:

4.1 要允許多個 client 相互連線, 須在 server 端打?#125;:
client-to-client

4.2 若想隱藏 server IP, 但純作 bridge 來用:
;server 10.3.0.0 255.255.255.0
server-bridge 10.8.0.1 255.255.255.0 10.8.0.129 10.8.0.246

4.3 若由其它 CA 建的 csr , Organization(KEY_ORG=)必需要一至.
否則, 不能簽署.

4.4 CA 文件分佈:
   server:
      ca.crt
      dh.pem
      dh1024.pem
      server.crt
      server.key   # 必須保密
   client:
      ca.crt
      client.crt
      client.key      # 必須保密
   CA server:
      ca.key      # 必須保密

4.5 Windows XP + SP2 與某些安全套件一併運行可能會導至 windows client 端不能成功.
目前除了移除 SP2 或衝突套件外, 暫無更好方法.
參考: http://openvpn.se/xpsp2_problem.html


五, 官方網站及文件:

http://openvpn.net/
http://openvpn.net/howto.html
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-09-12 22:40
報告! rpmbuild -tb openvpn-1.6.0.tar.gz  應該是 rpmbuild -tb openvpn-2.0.2.tar.gz 之誤! ^_^

我也貼一下 mdk2005 openvpn-1.6.0-2mdk 的設定(還沒有試成功)
---------------------------------------
----------------------------------
mark 掉那兩行後
service openvpn start
可以看到成功的訊息
[SSL] [LZO] [PTHREAD] built on Jan 13 2005
openvpn[25442]: Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
openvpn[25442]: Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
openvpn[25442]: Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
openvpn[25442]: LZO compression initialized
openvpn[25442]: Control Channel MTU parms [ L:1342 D:166 EF:66 EB:0 ET:0 EL:0 ]
openvpn[25442]: TUN/TAP device tun0 opened
openvpn[25442]: Data Channel MTU parms [ L:1342 D:1342 EF:42 EB:19 ET:0 EL:0 ]
openvpn[25442]: Local Options hash (VER=V3): '4eb33a0f'
openvpn[25442]: Expected Remote Options hash (VER=V3): '8fcf9375'
openvpn[25445]: GID set to nobody
openvpn[25445]: UID set to nobody
openvpn[25445]: PTHREAD support initialized
openvpn[25445]: UDPv4 link local: [undef]
openvpn[25445]: UDPv4 link remote: 61.218.xxx.xxx:5000
openvpn:  succeeded[/list]
查詢 ifconfig 並沒有出現 tun0 的介面?
port 5000 似乎也不對?
到這裡傷腦筋中...
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-13 00:01
dev 必須是 tun 或 tap 兩者之一, 不能沒有, 且 server 與 client 要一至.
tun 效果較好, 也比較簡單. 但要是你要弄較複雜的環境, 才選 tap .

至於 ns-cert-type server, 是較嚴謹的設定, 以防 man-in-the-meddle 的欺騙.
CA 的關鍵在於:
1) 要用相同的 ORG
2) 交給同一 root CA 簽署
3) key 與 crt 要一至.
4) ca.crt 要在 client 與 server 兩端要一至
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-09-13 07:34
會出現 port 5000 應該是這個原因
代碼: [選擇]
IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
還有發生 Unrecognized option or missing parameter(s) 是因為版本的問題
從 1.6.0 升級到 2.0.2 就不會出現了。^_^

雖然還是有出現"成功"的訊息,但是 client 端的 tun0 還是沒有出現?
再找! :)
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-13 09:14
兩邊都是 linux 嗎?
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-09-14 09:23
是的!

server 端是 kernel 2.4.18 redhat ,openvpn 版本
代碼: [選擇]
openvpn --version
OpenVPN 2.0 i386-redhat-linux [SSL] [LZO] built on Apr 30 2005
Developed by James Yonan


設定組態檔(已經把解說去掉!)
代碼: [選擇]
cat /etc/openvpn/server.conf

local 61.218.xxx.xxx
port 1194
proto udp
dev tun
tls-server
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
server 192.168.2.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
push "redirect-gateway"
client-to-client
keepalive 10 120
tls-auth ta.key 0 # This file is secret
comp-lzo
max-clients 10
user nobody
group nobody

persist-key
persist-tun

status openvpn-status.log
verb 3


成功的訊息! (ifconfig 有出現 tun0 的虛擬設備,netstat 有監聽 udp 1194)
代碼: [選擇]
openvpn[22353]: OpenVPN 2.0 i386-redhat-linux [SSL] [LZO] built on Apr 30 2005
openvpn[22353]: Diffie-Hellman initialized with 1024 bit key openvpn[22353]: Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
openvpn[22353]: Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
openvpn[22353]: Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
openvpn[22353]: TLS-Auth MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
openvpn[22353]: TUN/TAP device tun0 opened
openvpn[22353]: /sbin/ip link set dev tun0 up mtu 1500
openvpn[22353]: /sbin/ip addr add dev tun0 local 192.168.2.1 peer 192.168.2.2
openvpn[22353]: /sbin/ip route add 192.168.2.0/24 via 192.168.2.2
/etc/hotplug/net.agent: invoke ifup tun0
openvpn[22353]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:23 ET:0 EL:0 AF:3/1 ]
openvpn:  succeeded
openvpn[22372]: GID set to nobody
openvpn[22372]: UID set to nobody
openvpn[22372]: UDPv4 link local (bound): 61.218.xxx.xxx:1194
openvpn[22372]: UDPv4 link remote: [undef]
openvpn[22372]: MULTI: multi_init called, r=256 v=256
openvpn[22372]: IFCONFIG POOL: base=192.168.2.4 size=62
openvpn[22372]: IFCONFIG POOL LIST
openvpn[22372]: Initialization Sequence Completed



client 端 kernel 2.6.11-6mdk mdk2005,openvpn
代碼: [選擇]
OpenVPN 2.0.2 i586-mandrake-linux-gnu [SSL] [LZO] [EPOLL] built on Sep 13 2005
Developed by James Yonan



N 老大想玩嗎? ^_^
不只把 VPN 架起來而已喔! 真的玩下去,要出現"綠色 Sign On 晝面"才算完成! :lol:

想玩的話,我再把相關資料給您! ^_^
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-14 13:29
好啊, 給我玩玩看?
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-15 23:02
那個xp sp2的問題,現在有得解嗎?!
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-16 02:37
引述: "duncanlo"
那個xp sp2的問題,現在有得解嗎?!

沒解, 我給的 link 你可看看.

不過, 在我的 IBM notebook 上, 也是 xp + sp2 , 確沒問題.
但我老婆的機器卻不行...  >_<
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-16 12:34
引述: "netman"
引述: "duncanlo"
那個xp sp2的問題,現在有得解嗎?!

沒解, 我給的 link 你可看看.

不過, 在我的 IBM notebook 上, 也是 xp + sp2 , 確沒問題.
但我老婆的機器卻不行...  >_<


老外說用2.0 beta版可以用說,
你要不要先check一下已安裝的版本差異!!
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-16 14:26
嗯, 我沒 try 過 2.0-beta .
不過 openvpn 的 FAQ 跟 mail-list 上, 是各個版本都有這問題.

我之前試 1.6.0 時, xp to xp 也是 okay 的.
因此不確定問題在哪?
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-23 02:42
為了這個 XP+SP2,
我剛才重新灌了一台, 怪! 測起來沒問題!..........  >_<
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-23 13:06
我剛才想到另外一個問題,
像PPTP的VPN,
client端的網路環境,
若有firewall時,
必須要有支持pptp的相關設定才行,
那用openvpn的方式也需要配合的嗎?!
來去試一下...
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-09-23 13:23
引述: "duncanlo"
那用openvpn的方式也需要配合的嗎?!
來去試一下...

應該要吧?
iptables -A INPUT -i tun+ -p udp -j ACCEPT
主題: [心得分享] OpenVPN 建置方案
作者: jimes0072005-09-23 14:48
請問一下,在 windows 環境下,是否需要先安裝其他的軟體?

在執行 build-key ovpnclt1 時會出現一些錯誤訊息如下。

C:\PROGRA~1\OpenVPN\easy-rsa>build-key.bat opvnclt1
error on line -1 of openssl.cnf
2824:error:02001002:system library:fopen:No such file or directory:crypto/bio/bs
s_file.c:104:fopen('openssl.cnf','rb')
2824:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c
:107:
2824:error:0E064072:configuration file routines:CONF_load:no such file:crypto/co
nf/conf_def.c:197:
Using configuration from openssl.cnf
error loading the config file 'openssl.cnf'
2736:error:02001002:system library:fopen:No such file or directory:crypto/bio/bs
s_file.c:104:fopen('openssl.cnf','rb')
2736:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c
:107:
2736:error:0E064072:configuration file routines:CONF_load:no such file:crypto/co
nf/conf_def.c:197:
The system cannot find the file specified.

感覺好像要先裝 openssl 的樣子,不知是不是這樣子。
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-23 16:11
引述: "duncanlo"
我剛才想到另外一個問題,
像PPTP的VPN,
client端的網路環境,
若有firewall時,
必須要有支持pptp的相關設定才行,
那用openvpn的方式也需要配合的嗎?!
來去試一下...

要是指 XP firewall 的話, 就算全關了還是一樣.
目前我不确定老婆的電腦是啥原因不行, 之前1.6版本時還是可以的.
昨晚灌的 XP, 在裝 SP2 之前跟之後的測試都是 OK 的...
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-23 16:25
to jimes007:

你的 error 我沒有碰到呢...
不知你的版本是甚麼?
目前 openvpn 只能在 w2k 跟 xp 上跑....
主題: [心得分享] OpenVPN 建置方案
作者: jimes0072005-09-23 17:10
Netman前輩,小弟的是XP pro SP2,內建的firewall未開。
主要是訊息中有缺檔案的樣子,例如像 No such file or directory:crypto/bio/bs
s_file.c。
主題: [心得分享] OpenVPN 建置方案
作者: jimes0072005-09-23 20:28
補充:
在 easy-rsa 目錄下看到 README.txt,依照其方式再輔以您的設定已完成設定,可以連上 server 端。

目前最新的問題是,server IP 10.8.0.1,client IP 分到 10.8.0.2,由 server 端可以 ping client OK,但是 client 無法 ping server,還找不到問題所在。

請問 Netman 前輩,可有方法指點一下,謝謝。
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-23 20:57
引述: "jou"
引述: "duncanlo"
那用openvpn的方式也需要配合的嗎?!
來去試一下...

應該要吧?
iptables -A INPUT -i tun+ -p udp -j ACCEPT


這個我看不懂啦...

是要轉什麼port還是protocol才行?!
(其實我也還沒研究說...)
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-23 21:38
server 能夠 ping client, 那就 okay 了.
client 不能 ping server, 可能是 server 的 firewall 關係? 你關一關看?
主題: [心得分享] OpenVPN 建置方案
作者: jimes0072005-09-24 01:37
因為區網(192.168.2.x)可以通,所以想到以前實驗 NAT 時有對 iptable 做一些設定,最後的結果是 iptable 設定的問題。
目前將 iptables 關掉,因為 server 是放在 IP 分享器的後面,事實上不太用得到 iptables 的功能。

感謝 Netman 前輩的指導。
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-25 12:53
用起來真是讚...(我NB上的GUI Status字超小的,都要另外看Log)

不過明天上班後,才能從外面作實機測試...

openvpn x86 gui想要中文化,
只要修改source內的.rc檔,
有人有現成的嗎?!
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-09-25 18:53
是啊... 那個 status 視窗是擺好看的...  >_<
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-25 20:26
引述: "duncanlo"
引述: "jou"
引述: "duncanlo"
那用openvpn的方式也需要配合的嗎?!
來去試一下...

應該要吧?
iptables -A INPUT -i tun+ -p udp -j ACCEPT


這個我看不懂啦...

是要轉什麼port還是protocol才行?!
(其實我也還沒研究說...)


我看到有一個UDP 1194 port,
是這個嗎?!
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-25 20:30
引述: "netman"
是啊... 那個 status 視窗是擺好看的...  >_<


感覺起來,已經進步粉多了...

今天花了一點時間看了一下.rc檔的內容,
很多地方,還真不知道如何翻成中文,
我想它也沒什麼功能或選單的英文很難,
所以大家就繼續看小icon的狀況就夠了...
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-09-26 08:16
引述: "duncanlo"
引述: "duncanlo"
引述: "jou"
引述: "duncanlo"
那用openvpn的方式也需要配合的嗎?!
來去試一下...

應該要吧?
iptables -A INPUT -i tun+ -p udp -j ACCEPT


這個我看不懂啦...

是要轉什麼port還是protocol才行?!
(其實我也還沒研究說...)


我看到有一個UDP 1194 port,
是這個嗎?!

如果是開 tun 的設備且 proto 是用 udp 就可以開上面的規則。

是的! 看您在 server or client .conf 裡的設定值怎麼設?
在 1.6.0 時的預設監聽 port 是 5000 ,2.0 以後開成 port 1194 了。

所以...如果您是 proto 是用 udp ,dev 是用 tun (成功時,可用 ifconfig 看到 tun0 監聽)
您就可以利用上述的 iptables 規則,讓封包 accept 進來! ^_^
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-26 08:59
引述: "jou"
引述: "duncanlo"
引述: "duncanlo"
引述: "jou"
引述: "duncanlo"
那用openvpn的方式也需要配合的嗎?!
來去試一下...

應該要吧?
iptables -A INPUT -i tun+ -p udp -j ACCEPT


這個我看不懂啦...

是要轉什麼port還是protocol才行?!
(其實我也還沒研究說...)


我看到有一個UDP 1194 port,
是這個嗎?!

如果是開 tun 的設備且 proto 是用 udp 就可以開上面的規則。

是的! 看您在 server or client .conf 裡的設定值怎麼設?
在 1.6.0 時的預設監聽 port 是 5000 ,2.0 以後開成 port 1194 了。

所以...如果您是 proto 是用 udp ,dev 是用 tun (成功時,可用 ifconfig 看到 tun0 監聽)
您就可以利用上述的 iptables 規則,讓封包 accept 進來! ^_^


jou前輩這樣解釋我就聽的懂了...

不過小弟公司比較窮,只用的起pix,
先來試試看client通不通,
真不通再請同事幫我處理NAT轉到內部的問題...
主題: [心得分享] OpenVPN 建置方案
作者: duncanlo2005-09-26 11:01
真是讚!!!
我只修改了一點server.conf的內容,
把dns的設定加上去而已...
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-09-28 14:33
曾經發生以下的訊息,記綠下來好了。

代碼: [選擇]
TLS errors

TLS Error: TLS key negotiation failed to occur within 60 seconds.
TLS Error: TLS handshake failed

This could mean your packets are being blocked by a firewall, your certificates on both ends don't match, or the IPs or subnet masks are wrong in your config files.


我發生的是 firewall 的問題。
-A INPUT -s 61.218.xxx.xxx -p tcp -m tcp --dport 1194 -j ACCEPT

-A INPUT -s 61.218.xxx.xxx -p udp -m udp --dport 1194 -j ACCEPT
在伺服器端的防火牆設定。

如果過不了,您可能會在 client 端的 /var/log/messages 發現如上的錯誤訊息。
主題: [心得分享] OpenVPN 建置方案
作者: chenrui2005-11-27 15:37
我按 Netman 學長的方法. 當我輸入 service openvpn start 時出現錯誤.在事件中顯示:

Nov 26 15:25:47 cnwm openvpn[2242]: OpenVPN 2.0.2 i386-redhat-linux [SSL] [LZO] [EPOLL] built on Sep  8 2005
Nov 26 15:25:47 cnwm openvpn[2242]: Diffie-Hellman initialized with 1024 bit key
Nov 26 15:25:47 cnwm openvpn[2242]: TLS-Auth MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
Nov 26 15:25:47 cnwm modprobe: modprobe: Can't locate module char-major-10-200
Nov 26 15:25:47 cnwm openvpn[2242]: Note: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)
Nov 26 15:25:47 cnwm openvpn[2242]: Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Nov 26 15:25:47 cnwm openvpn[2242]: Cannot allocate TUN/TAP dev dynamically
Nov 26 15:25:47 cnwm openvpn[2242]: Exiting
Nov 26 15:25:47 cnwm openvpn:  failed

請問是什麼原因造成.謝謝.
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-11-27 20:05
恩? 這個 error 我沒碰到過呢?
不知道您用甚麼 os 版本的?
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-11-28 07:57
Can't locate module char-major-10-200
kernel 2.2
可能是核心模組沒有支援 tap/tun 這個設備
所以沒有辦法啟動 /dev/net/tun 設備。
主題: [心得分享] OpenVPN 建置方案
作者: chenrui2005-11-28 09:51
Kernel 2.4.21-4.EL

EL 3.0

請問是否能重灌核心,還是有模塊可以更新?

謝謝
主題: [心得分享] OpenVPN 建置方案
作者: mismis2005-12-06 14:53
請問我已經安裝好了....而且可以連線
我要怎麼知道我的連線有經過ssl加密
主題: [心得分享] OpenVPN 建置方案
作者: netman2005-12-06 15:23
你將 ssl 的 library 的路徑改掉, 若不能 work , 那就是了.
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-12-07 07:55
用 tcpdump 捉幾個封包來看看,能不能看得懂它的內容?
主題: [心得分享] OpenVPN 建置方案
作者: jou2005-12-07 13:50
終於可以從外面的 public IP 透過 OpenVPN 連上公司內部的 AS/400 主機了! :D (現在的爽度百分百)

其中遇到最大的問題,不外乎防火牆和路由。
真的! 能架起 OpenVPN 其實沒有什麼,最大問題應該都在防火牆上的設定。

把遇到的問題列一下吧!
記得把 tcpdump -i tun0 啟動起來,放在內部的地道口監聽哦
這樣除錯會容易些,當您遇到問題,也別忘了到  FAQ  (http://openvpn.net/faq.html) 找答案哦!
先前把 AS/400 上的主機路給定出來( CFGTCP )
這時候是可以 ping 得到的,可是 ibm5250 的模擬程式就是起不來。
封包看起來都是單向的,得不到三方交握的回應封包。
果不其然,真的是防火牆擋到了! @_@
大約加上這些,就這樣通起來了。
代碼: [選擇]
# 以下兩行就是關鍵
-A FORWARD -i tun+ -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
# 以下兩行是打
-A INPUT -s 61.218.xxx.xxx -p tcp -m tcp --dport 1194 -j ACCEPT
-A INPUT -s 61.218.xxx.xxx -p udp -m udp --dport 1194 -j ACCEPT


如果您沒有遇到以上的問題,那您可能幸運些吧?
主題: [心得分享] OpenVPN 建置方案
作者: netman2007-01-12 15:29
聽三子說我這個版本要更新了呢!
不過我還沒時間去試。
有誰去凹一下三子?
主題: [心得分享] OpenVPN 建置方案
作者: cwlin04162007-04-18 17:44
引述: "duncanlo"
用起來真是讚...(我NB上的GUI Status字超小的,都要另外看Log)

不過明天上班後,才能從外面作實機測試...

openvpn x86 gui想要中文化,
只要修改source內的.rc檔,
有人有現成的嗎?!


Status 的部份沒辦法透過 RC 改
他是已經在程式裡指定的

這是小弟做的中文化, 也把 status 的字改大了
不是道你要的是不是這個?

http://fs.mis.kuas.edu.tw/~s1092137101/utilities/openvpn-gui-1.0.3-cht.exe
主題: [心得分享] OpenVPN 建置方案
作者: canglong2007-08-14 17:26
请问,象openvpn-gui-1.0.3-cht.exe这样中文的client端是怎样编译出来的呢 ?那位老大可以指点下么? 多谢了 !
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: wen1149992008-11-24 15:43
# 建置 client key 與 crs
build-key ovpnclt1

时我出现  could not find c:\*.old

请问大大们教导
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: netman2008-11-24 16:55
啊,我用的版本很老舊了哦~~~
不知道現在的步驟是不是還一樣呢?
最好是到官網上看看文件啦...

主題: 回覆: [心得分享] OpenVPN 建置方案
作者: wen1149992008-11-26 15:39
请问大大们:我在win客户端建立用户 和 在 linux _sever端那里建用户是一样的吧?
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: wen1149992008-11-26 17:08
Wed Nov 26 17:03:44 2008 OpenVPN 2.1_rc15 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 19 2008
Wed Nov 26 17:03:44 2008 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Wed Nov 26 17:03:44 2008 Cannot load certificate file ovpnclt1.crt: error:0906D06C:PEM routines:PEM_read_bio:no start line: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib
Wed Nov 26 17:03:44 2008 Exiting


上面的错误大概是由于什么引起的啊~~!???
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: twu22008-11-26 17:42
那個 .crt 的格式有問題吧.
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: wen1149992008-11-27 09:53
 :D :D ;D

5555555555~~!经过2天的努力我成功拉~~! :'(谢谢大家对我的帮助~!更要谢谢netman.
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: edwardleung2008-12-09 00:28
您們好,

小弟的環境 FC9, real IP : 192.168.1.xxx, vpn IP : 192.168.2.xxx, 連線用 tap...

請問以下問題可以怎樣解決呢 ?
Tue Dec 09 00:20:21 2008 OpenVPN 2.0.9 Win32-MinGW [SSL] [LZO] built on Oct  1 2006
Tue Dec 09 00:20:21 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Tue Dec 09 00:20:21 2008 LZO compression initialized
Tue Dec 09 00:20:21 2008 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:10 ]
Tue Dec 09 00:20:21 2008 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:10 AF:3/1 ]
Tue Dec 09 00:20:21 2008 Local Options hash (VER=V4): '41690919'
Tue Dec 09 00:20:21 2008 Expected Remote Options hash (VER=V4): '530fdded'
Tue Dec 09 00:20:21 2008 Attempting to establish TCP connection with 192.168.1.254:1194
Tue Dec 09 00:20:42 2008 TCP: connect to 192.168.1.254:1194 failed, will try again in 5 seconds

謝謝協助 !

主題: 回覆: [心得分享] OpenVPN 建置方案
作者: edwardleung2008-12-26 21:45
您們好,

小弟有以下問題希望大大們可以協助一下呢:

引用
vi server.conf
   dev tap
   ;dev tun
   ca ca.crt
   cert ovpnsrv1.crt
   key ovpnsrv1.key  # This file should be kept secret

請問 ca, cert 及 key 是否需要用絕對路徑嗎?
如:
   ca /etc/ca.crt
   cert /etc/ovpnsrv1.crt
   key /etc/ovpnsrv1.key

引用
# 建置 client key 與 csr
build-key ovpnclt1
   ....
   Common Name (eg, your name or your server's hostname) []:ovpnclt1
   ....

請問建立 client key 及 csr 前, 是否要先把Server 的ca.key copy 過來才可進行呢?

引用
# 配置 client 端設定檔
右下角(OpenVPN GUI)
右鍵--> Edit Config (沒提及的, 請保持原貌)
   dev tap
   ;dev tun
   dev-node OpenVPN_Tap
   remote 192.168.100.151 1194
   ca ca.crt
   cert ovpnclt1.crt
   key ovpnclt1.key
   ns-cert-type server

請問 ca, cert 及 key 是否需要用絕對路徑嗎?
如:
   ca c:\ca.crt
   cert c:\ovpnclt1.crt
   key c:\ovpnclt1.key

引用
;client-to-client #如果让Client之间可以相互看见,去掉本行的注释掉,否则Client之间无法相互访问
;duplicate-cn #是否允许一个User同时登录多次,去掉本行注释后可以使用同一个用户名登录多次
plugin ./openvpn-auth-pam.so openvpn #说明使用的插件,openvpn为插件的参数,使用pam的servicesname
client-cert-not-required #不请求客户的CA证书,使用User/Pass验证
username-as-common-name #使用客户提供的UserName作为Common Name

請問以上設定需要嗎?

另外, 又請問firewall 部份要如何開放才可作測試之實作呢?

謝謝協助!

Edward.
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: wen1149992009-01-07 15:33
局域网1{client------filewll1}-----[广域网]------{filewall2-------openvpn}局域网2

    要实现客户端从“局域网1”通过广域网访问“局域网2”的openvpn服务端我们的防火墙1和2应该做如何的设置呢?

由于设备和环境的欠缺,一直都只可以用VM来做实验,加上本人能力不足,希望“有空”的大大们指教一下防火墙1和2的

简单设置方法!
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: netman2009-01-07 16:12
既然是 VPN 了,那就當 PN 來設,將 V 略過...
主題: 回覆: [心得分享] OpenVPN 建置方案
作者: wen1149992009-01-07 17:02
 ;D  大大就是大大。说话也精辟。 :P

谢谢了~!