作者 主題: [心得分享] OpenVPN 建置方案  (閱讀 80963 次)

0 會員 與 1 訪客 正在閱讀本文。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 於: 2005-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
« 上次編輯: 2008-12-27 01:19 由 netman »

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #1 於: 2005-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 的設定(還沒有試成功)
---------------------------------------
    # /etc/openvpn/client.conf
    # 本機 client 端
    # client (加上這一行,會發生 Unrecognized option or missing parameter(s) in client.conf:2: client ) :(
    dev tun
    proto udp
    # 遠端 server 主機的 ip & 連接 port
    remote 61.218.xxx.xxx 1194

    resolv-retry infinite
    nobind

    user nobody
    group nobody

    persist-key
    persist-tun

    tls-client
    ca ca.crt
    cert client1.crt
    key client1.key
    tls-auth ta.key 1

    # ns-cert-type server (一樣的錯誤 Unrecognized option or missing parameter(s) in client.conf:23: ns-cert-type)
    comp-lzo
    verb 3
----------------------------------
mark 掉那兩行後
service openvpn start
可以看到成功的訊息
    openvpn[25442]: OpenVPN 1.6.0 i586-mandrake-linux-gnu
[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 似乎也不對?
到這裡傷腦筋中...

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #2 於: 2005-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 兩端要一至

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #3 於: 2005-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 還是沒有出現?
再找! :)

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #4 於: 2005-09-13 09:14 »
兩邊都是 linux 嗎?

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #5 於: 2005-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:

想玩的話,我再把相關資料給您! ^_^

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #6 於: 2005-09-14 13:29 »
好啊, 給我玩玩看?

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #7 於: 2005-09-15 23:02 »
那個xp sp2的問題,現在有得解嗎?!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #8 於: 2005-09-16 02:37 »
引述: "duncanlo"
那個xp sp2的問題,現在有得解嗎?!

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

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

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #9 於: 2005-09-16 12:34 »
引述: "netman"
引述: "duncanlo"
那個xp sp2的問題,現在有得解嗎?!

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

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


老外說用2.0 beta版可以用說,
你要不要先check一下已安裝的版本差異!!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #10 於: 2005-09-16 14:26 »
嗯, 我沒 try 過 2.0-beta .
不過 openvpn 的 FAQ 跟 mail-list 上, 是各個版本都有這問題.

我之前試 1.6.0 時, xp to xp 也是 okay 的.
因此不確定問題在哪?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #11 於: 2005-09-23 02:42 »
為了這個 XP+SP2,
我剛才重新灌了一台, 怪! 測起來沒問題!..........  >_<

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #12 於: 2005-09-23 13:06 »
我剛才想到另外一個問題,
像PPTP的VPN,
client端的網路環境,
若有firewall時,
必須要有支持pptp的相關設定才行,
那用openvpn的方式也需要配合的嗎?!
來去試一下...

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #13 於: 2005-09-23 13:23 »
引述: "duncanlo"
那用openvpn的方式也需要配合的嗎?!
來去試一下...

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

jimes007

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #14 於: 2005-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 的樣子,不知是不是這樣子。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #15 於: 2005-09-23 16:11 »
引述: "duncanlo"
我剛才想到另外一個問題,
像PPTP的VPN,
client端的網路環境,
若有firewall時,
必須要有支持pptp的相關設定才行,
那用openvpn的方式也需要配合的嗎?!
來去試一下...

要是指 XP firewall 的話, 就算全關了還是一樣.
目前我不确定老婆的電腦是啥原因不行, 之前1.6版本時還是可以的.
昨晚灌的 XP, 在裝 SP2 之前跟之後的測試都是 OK 的...

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #16 於: 2005-09-23 16:25 »
to jimes007:

你的 error 我沒有碰到呢...
不知你的版本是甚麼?
目前 openvpn 只能在 w2k 跟 xp 上跑....

jimes007

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #17 於: 2005-09-23 17:10 »
Netman前輩,小弟的是XP pro SP2,內建的firewall未開。
主要是訊息中有缺檔案的樣子,例如像 No such file or directory:crypto/bio/bs
s_file.c。

jimes007

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #18 於: 2005-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 前輩,可有方法指點一下,謝謝。

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #19 於: 2005-09-23 20:57 »
引述: "jou"
引述: "duncanlo"
那用openvpn的方式也需要配合的嗎?!
來去試一下...

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


這個我看不懂啦...

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

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #20 於: 2005-09-23 21:38 »
server 能夠 ping client, 那就 okay 了.
client 不能 ping server, 可能是 server 的 firewall 關係? 你關一關看?

jimes007

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #21 於: 2005-09-24 01:37 »
因為區網(192.168.2.x)可以通,所以想到以前實驗 NAT 時有對 iptable 做一些設定,最後的結果是 iptable 設定的問題。
目前將 iptables 關掉,因為 server 是放在 IP 分享器的後面,事實上不太用得到 iptables 的功能。

感謝 Netman 前輩的指導。

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #22 於: 2005-09-25 12:53 »
用起來真是讚...(我NB上的GUI Status字超小的,都要另外看Log)

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

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

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17311
    • 檢視個人資料
    • http://www.study-area.org
[心得分享] OpenVPN 建置方案
« 回覆 #23 於: 2005-09-25 18:53 »
是啊... 那個 status 視窗是擺好看的...  >_<

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #24 於: 2005-09-25 20:26 »
引述: "duncanlo"
引述: "jou"
引述: "duncanlo"
那用openvpn的方式也需要配合的嗎?!
來去試一下...

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


這個我看不懂啦...

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


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

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #25 於: 2005-09-25 20:30 »
引述: "netman"
是啊... 那個 status 視窗是擺好看的...  >_<


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

今天花了一點時間看了一下.rc檔的內容,
很多地方,還真不知道如何翻成中文,
我想它也沒什麼功能或選單的英文很難,
所以大家就繼續看小icon的狀況就夠了...

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #26 於: 2005-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 進來! ^_^

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #27 於: 2005-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轉到內部的問題...

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7311
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #28 於: 2005-09-26 11:01 »
真是讚!!!
我只修改了一點server.conf的內容,
把dns的設定加上去而已...

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
[心得分享] OpenVPN 建置方案
« 回覆 #29 於: 2005-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 發現如上的錯誤訊息。