返回列表 發帖

[VPN] 讓iOS/Android 用戶透過OpenVPN翻網

本帖最後由 gfx86674 於 2015-1-9 11:26 編輯

相信各位都知道RouterOS很早就支援OpenVPN(OVPN),
但設定iOS/Android可能不是清楚...
所以小弟整理一篇大家都看得懂的,讓各位不用懂腦筋去猜想該怎麼動手.

使用OVPN最基礎的是要建立憑證 ,
不過小弟不再提憑證是如何製做,而是直接開放給有緣人下載使用.
ca.crt  /ca.key  /client.crt /client.key

先把下載的ca.crt 與ca.key 拉放至winbox的files檔案夾 ,
再至/system certificates 用Import進行匯入.
先匯入ca.crt ,再匯入ca.key ,

匯入完成Certificate會標示KT
要使用OVPN  Server ,當然得先開啟它

iOS/Android要指定使用OVPN的ip-mode ,
而Port可以自訂,小弟將原本預設Port:1194 變成現在的1195

修改/PPP Profile的default-encryption設定檔 ,將DNS-Server變更成您的Gateway
確保路由是經您的RouterOS主機查尋遞出的.


建立用戶的OVPN帳號


因ip-mode遮罩被固定為255.255.255.252不能變更 ,設DHCP-Pool意義不大.
所以直接在帳號指定Local/Remote Address .

也因遮罩限定255.255.255.252 ,所以不同帳號請用不同網段區分.
如範例的10.0.1.0/30 ,10.0.2.0/30 ,10.0.3.0/30 如此類推 ,
更禁用戶同帳號重覆登入Server.

若您是使用小弟所提供的憑證,接下只要打開電腦的記事本,
將下面的文字存為client.ovpn即可.
  1. client
  2. dev tun
  3. remote 1.23.123.123 1195
  4. proto tcp
  5. auth-user-pass pw.txt
  6. redirect-gateway
  7. mute-replay-warnings

  8. ;ca.crt
  9. ;client.crt
  10. ;client.key

  11. <ca>
  12. -----BEGIN CERTIFICATE-----
  13. MIIDBDCCAm2gAwIBAgIJAM8oNFlxL3rSMA0GCSqGSIb3DQEBBAUAMGAxCzAJBgNV
  14. BAYTAlRXMQswCQYDVQQIEwJUVzEPMA0GA1UEBxMGVGFpcGVpMQ0wCwYDVQQKEwRo
  15. b21lMSQwIgYJKoZIhvcNAQkBFhV4eHh4eHh4eEB5YWhvby5jb20udHcwHhcNMTIx
  16. MjExMTYyNDIzWhcNMjIxMjA5MTYyNDIzWjBgMQswCQYDVQQGEwJUVzELMAkGA1UE
  17. CBMCVFcxDzANBgNVBAcTBlRhaXBlaTENMAsGA1UEChMEaG9tZTEkMCIGCSqGSIb3
  18. DQEJARYVeHh4eHh4eHhAeWFob28uY29tLnR3MIGfMA0GCSqGSIb3DQEBAQUAA4GN
  19. ADCBiQKBgQDTIffwLYBebqwQBSGb8K9wIF4b5HRVoTqfS8ZTc07TB07DZkGcTOX4
  20. HhEnW093KggwVfzRLXk+xzw2uK6iQjJo+9DJqsVviw8sQivs+ZtxAgiZSEeMfsY+
  21. 03YRXgYm6N684qt25ge/EyhuO6peWNRIcS3nW1FXPJ736e1+l/yVQQIDAQABo4HF
  22. MIHCMB0GA1UdDgQWBBQAirU2p0HRWb6DBzGl+UpFzghiAzCBkgYDVR0jBIGKMIGH
  23. gBQAirU2p0HRWb6DBzGl+UpFzghiA6FkpGIwYDELMAkGA1UEBhMCVFcxCzAJBgNV
  24. BAgTAlRXMQ8wDQYDVQQHEwZUYWlwZWkxDTALBgNVBAoTBGhvbWUxJDAiBgkqhkiG
  25. 9w0BCQEWFXh4eHh4eHh4QHlhaG9vLmNvbS50d4IJAM8oNFlxL3rSMAwGA1UdEwQF
  26. MAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAP/rusq6/L1Ju0F8yJPUtvqq7i2WevRUW
  27. b0s0uy076XX/njvY16QnGeqZSw7mi59TSa2kEkO/nDPcCE88y6Q2yCl+CHx3hZLe
  28. 2zBuxZ4kCaVlAVks8XI2PbqYxASAH8INzDrqfY0ISsGiIVACGnIS9O3DmUtV93De
  29. NLzt4kDBET0=
  30. -----END CERTIFICATE-----
  31. </ca>

  32. <cert>
  33. -----BEGIN CERTIFICATE-----
  34. MIIDJzCCApCgAwIBAgIBAjANBgkqhkiG9w0BAQQFADBgMQswCQYDVQQGEwJUVzEL
  35. MAkGA1UECBMCVFcxDzANBgNVBAcTBlRhaXBlaTENMAsGA1UEChMEaG9tZTEkMCIG
  36. CSqGSIb3DQEJARYVeHh4eHh4eHhAeWFob28uY29tLnR3MB4XDTEyMTIxMjAxMzA1
  37. OFoXDTIyMTIxMDAxMzA1OFowYDELMAkGA1UEBhMCVFcxCzAJBgNVBAgTAlRXMQ0w
  38. CwYDVQQKEwRob21lMQ8wDQYDVQQDEwZjbGllbnQxJDAiBgkqhkiG9w0BCQEWFXh4
  39. eHh4eHh4QHlhaG9vLmNvbS50dzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
  40. wUOdzSIu/vGFAoYo8nTzjVzwSftSwxRF9qlMsfFZfE/aVWhUpxFdWFio7qV+oo6j
  41. lSvYsEFGC49rmjs0gpc8eoZo65doMzDwwkN4lxu30Jjqah9HtY5EcZX9R1Gl6t3Q
  42. lhD9nUDEjSDH8SWY81uG60/yvV2V/7WW0eWI2iw4/D0CAwEAAaOB8DCB7TAJBgNV
  43. HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp
  44. Y2F0ZTAdBgNVHQ4EFgQUk6pp88OQjLIFQ+v9UAm6UHC3od4wgZIGA1UdIwSBijCB
  45. h4AUAIq1NqdB0Vm+gwcxpflKRc4IYgOhZKRiMGAxCzAJBgNVBAYTAlRXMQswCQYD
  46. VQQIEwJUVzEPMA0GA1UEBxMGVGFpcGVpMQ0wCwYDVQQKEwRob21lMSQwIgYJKoZI
  47. hvcNAQkBFhV4eHh4eHh4eEB5YWhvby5jb20udHeCCQDPKDRZcS960jANBgkqhkiG
  48. 9w0BAQQFAAOBgQBE2ATIoN2IBunjlIeSz+eXDd4D8du3Si807i/9knICweBY4Wsv
  49. P/9lpozqcklyRdEFG9UjAfYoz54ULEspiPS7oHKd4bIZsabMLBSAxKq4MvEiIto4
  50. EjKCMSt8WTaSAvES63Hva1kqHhWK50eRAg5llS1awdegu2P5nNxxhB9Knw==
  51. -----END CERTIFICATE-----
  52. </cert>

  53. <key>
  54. -----BEGIN RSA PRIVATE KEY-----
  55. MIICXAIBAAKBgQDBQ53NIi7+8YUChijydPONXPBJ+1LDFEX2qUyx8Vl8T9pVaFSn
  56. EV1YWKjupX6ijqOVK9iwQUYLj2uaOzSClzx6hmjrl2gzMPDCQ3iXG7fQmOpqH0e1
  57. jkRxlf1HUaXq3dCWEP2dQMSNIMfxJZjzW4brT/K9XZX/tZbR5YjaLDj8PQIDAQAB
  58. AoGAYhEUdq3c2QLm8mPvTTBpEZdSWsgLs++KnOJFh5mnRbwjVulM40WdbyH1/rq9
  59. anEksqIAH1fP2jfZavaV65ogVk1q8sSZ1JfY6m0SDlvlMryPmEHnuWbUIJsvmKRB
  60. nN/BwAkbbOB1s2uRHntgs+ktxVTATnre0iI+P5PVfmluKkECQQDx71mcrEvDSL6t
  61. MYPgmm99OoaCC0JuqNMbh1Qw2hMSzreCJFDeghPOwfYDcj235egXjuLdWJCNdsLk
  62. oTx72P+tAkEAzH/perm9Rq1M7UUhw+nKIJqFRyf+VtR1Wk3j4xQmbRfvBns2YjGR
  63. 4BB7FlVNyP94z/H1X6TZrrNHPMmjQVlA0QJAU2V9T2t5Bk0KJWt/GSpDKjjFawh0
  64. ku6xLrkchWZ20rHdQghAtCLEry3fHtr/eWfP9Gb1vvUrhwgcMHGABvULVQJAD67X
  65. lwPbkioENkYQ+tdZGvr+saBNjxcoEM7cZTPMZp1pRVP5rbojd82LwwCzwHBnMXta
  66. 2ATqdM1m7zB/hqlzoQJBAOM89P0LVPQrcKlp/fN+lIJQQli3jOsUwLNFYbWlqTr8
  67. sa3O2zc8OFj/aPlcSgvmm64H3z5Aa4Pld6lz58ic8bU=
  68. -----END RSA PRIVATE KEY-----
  69. </key>
複製代碼
注意remote 1.23.123.123 1195 是您的地址與port ,要修正成您的.

另外還得存pw.txt ,是存放用戶帳號/密碼用的.
第一行為用戶帳號 ,第二行則為密碼.
  1. bfs
  2. 123456
複製代碼
iOS/Android裝置安裝OpenVPN Connect ,並將client.ovpn/pw.txt上傳並進行匯入

先關閉OpenVPN Connect的Force AES-CBC ciphersuites
若沒意外 ,iOS/Android接下來即順利與OVPN-Server連線.
  

非常精彩的文章!

我现在还用PPTP Server。用OpenVPN有一个好处就是可以改port!

TOP

謝謝 , 好有用的資料 !

TOP

要在IPAD 上VPN.
想问 OPENVPN 是不是能支持DDNS?  remote 1.23.123.123 1195 能改成DDNS的Address吗?
在gmail 上open client.ovpn, 要找PW.TXT。好像找不到Path。是不是一定要ITUNE才可以upload client.ovpn? 没有pw.txt, 是不是openvpn 能prompt userid/password?
auth-user-pass pw.txt

TOP

找到了,openvpn 能支持DDNS。
现在Connecting。。
是SetTunnelSocket returned 1
Server Poll timeout, trying next remote entry
不知道是什么Error?

TOP

利用了你的Certication。改了IP Pool, 现在在下一阶段。
不停的Push request to server.
error:  ECP recv EOF
EVENT: TRANPORT_ERROR transport error on 'xxxx' NETWORK_EOF_ERROR [ERR]

知道哪里有问题吗?

TOP

回復 1# gfx86674

我用了你的 Certification + RB OVPN Setting。 还有有网络的问题。连不上OVPN?
以下是IPAD 的Log,在RB没有什么Error。

2015-06-14 00:14:37 VERIFY OK: depth=0
cert. version     : 3
serial number     : 02
issuer name       : C=TW, ST=TW, L=Taipei, O=home, emailAddress=xxxxxxxx@yahoo.com.tw
subject name      : C=TW, ST=TW, O=home, CN=client, emailAddress=xxxxxxxx@yahoo.com.tw
issued  on        : 2012-12-12 01:30:58
expires on        : 2022-12-10 01:30:58
signed using      : RSA with MD5
RSA key size      : 1024 bits
basic constraints : CA=false

2015-06-14 00:14:38 TCP recv EOF
2015-06-14 00:14:38 Transport Error: Transport error on 'xxx.xxx.xxx: NETWORK_EOF_ERROR
2015-06-14 00:14:38 EVENT: TRANSPORT_ERROR Transport error on 'xxx.xxx.xxx: NETWORK_EOF_ERROR [ERR]
2015-06-14 00:14:38 Client terminated, restarting in 5...
2015-06-14 00:14:41 RECONNECT TEST: Internet:ReachableViaWiFi/-R -----l- WiFi:ReachableViaWiFi/-R ------d

TOP

本帖最後由 gfx86674 於 2015-6-14 11:45 編輯

回復 7# yiucsw
你是使用什麼版本的RouterOS ?

v6.28有bug ,所以無法連線.
隨後v6.29修正,就正常了;或者選擇降v6.27前的OS版本也可以.

TOP

是最新的版本

TOP

是最新的版本
yiucsw 發表於 2015-6-17 15:00

那您的可能要注意firewall filter的過濾;
或是因nat設置 ,vpn要求被映射到其它的Server主機.

據聞RouterOS_v6.29.1_OpenVPN_bug並未除盡 ,建議換回v6.27

TOP

在Mikrotiklog setting 加了OVPN info,连IPAD 时内有这样的Message:
ovtp disconnected<remote peer uses tun encapsulation while we -tap>
知道在那里改OVPN server 为TUN?
主要是APPLE IPAD用

TOP

在Mikrotik 的 PPP 改OVPN Server 的 Mode 从Ethernet 到IP。现在能Support TUN。
现在是其他的错误。

TOP

回復 11# yiucsw

TOP

谢谢,现在Apple iPad 同 Android 都能支持 OVPN。 想问能加上 mikrotik to mikrotik? mikrotik to mikrotik  能双向吗。

TOP

本帖最後由 gfx86674 於 2015-6-25 16:30 編輯

回復 14# yiucsw
可以,client主機也需匯入與server相同的憑證(ca.crt/ca.key).

做site-to-site 免匯入client.crt/client.key ,
client這兩個憑證只有行動裝置需要, Windows桌機與Mikrotik主機可以省缺不使用.

接下後續設定與pptp site-to-site完全相同,您可以試試.

TOP

返回列表