電訊茶室's Archiver

角色 發表於 2018-8-26 22:01

Installation of Openconnect Server on QNAP NAS Virtualisation Station

[i=s] 本帖最後由 角色 於 2018-9-13 07:13 編輯 [/i]

因为之前有位member [1] 提及过逗比根据地 [2], 里面有提及过怎样一键安装Openconnect server [3,4].

由于我在香港有一台QNAP NAS TS-453 Pro (Intel-based J1900 CPU,有Virtualisation Station and Container Station),在Virtualisation Station安装Debian 8.11. 然后按照一键安装方法下载和安装Openconnect server,整个流程也非常简单。

Reference:
[1] [url]http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&ptid=7177&pid=45276[/url]
[2] [url]https://doub.io/[/url]
[3] [url]https://doub.io/vpnzy-7/[/url]
[4] [url]http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&ptid=7177&pid=45273[/url]

AnyConnect Client Manual
[url]https://www.cisco.com/c/en/us/support/security/anyconnect-secure-mobility-client/products-user-guide-list.html[/url]

Cisco AnyConnect Client Administrator Guide
[url]https://www.cisco.com/c/en/us/support/security/anyconnect-secure-mobility-client/products-installation-and-configuration-guides-list.html[/url]

从下面的link,如果用Cisco AnyConnect client是不可以把所有traffic都送到remote gateway,解决方法是用OpenConnet Client,而不是AnyConnect。
[url]https://medium.com/@acecilia/how-to-route-all-your-traffic-through-a-cisco-anyconnect-vpn-hint-you-cant-a6a1ea1f4a58[/url]

========== 安装后遇到的问题 ==================
用Cisco Anyconnect Client连接Openconnect Server后,有些网站打不开,例如MyTV Super就能发现我用VPN,而用PPTP就没有这个问题,看起来Cisco Anyconnect没有把所有Traffic都push 到对方的Gateway。如果哪位members知道解决方法,请留言,谢谢。

终于知道答案: 就是把/etc/ocserv/ocscer.conf的所有“no-route = xxx.xxx.xxx.xxx/netmask"产走。

角色 發表於 2018-8-26 22:15

[i=s] 本帖最後由 角色 於 2018-8-26 22:21 編輯 [/i]

怎样利用Virtualisation Station安装Debian 8.11就不说了,都是基本的东西。在安装Debian 8.11时大家要注意几点。

1、在哪里下载安装image?
[url]https://cdimage.debian.org/cdimage/archive/[/url]

2、选用哪个image安装呢?8.11
[url]https://cdimage.debian.org/cdimage/archive/8.11.0/[/url]

3、我选32-bit i386, 大家也可以选用64-bit amd64
[url]https://cdimage.debian.org/cdimage/archive/8.11.0/i386/[/url]

4、然后选用iso-cd
[url]https://cdimage.debian.org/cdimage/archive/8.11.0/i386/iso-cd/[/url]

5、再选 debian-8.11.0-i386-netinst.iso
[url]https://cdimage.debian.org/cdimage/archive/8.11.0/i386/iso-cd/debian-8.11.0-i386-netinst.iso[/url]

通过QNAP NAS里的Download Station把上面ISO的image下载到NAS的download directory,然后进行安装。安装可以参考下面文章:

[url]https://www.howtoforge.com/tutorial/debian-8-jessie-minimal-server/[/url]

其中最容易出问题就是安装GRUB boot loader (之前选整个盘后,都启动不了)。

When you're asked Install the GRUB boot loader to the master boot record?, select Yes:

The installer might ask you in which partition Grub shall be installed. This server has just one harddisk, so I choose /dev/sda here.

角色 發表於 2018-8-26 22:36

[i=s] 本帖最後由 角色 於 2018-8-26 22:41 編輯 [/i]

安装好image后,我们要用putty port 22进入Debian系统。因为我要remote ssh login香港的Debian系统,我不用port 22,改用别的port number,remote ssh login时做port forwarding。

当上面的router port forwarding tasks做好后,我们可以用putty进入Debian系统,然后cut-and-paste下面的指令:[code]
wget -N --no-check-certificate https://softs.loan/Bash/ocserv.sh && chmod +x ocserv.sh && bash ocserv.sh
[/code]#


过了一段时间,你会在屏幕看到:[code]
ocserv 一键安装管理脚本 [vx.x.x]
-- Toyo | doub.io/vpnzy-7 --

0. 升级脚本
————————————
1. 安装 ocserv
2. 卸载 ocserv
————————————
3. 启动 ocserv
4. 停止 ocserv
5. 重启 ocserv
————————————
6. 设置 账号配置
7. 查看 配置信息
8. 修改 配置文件
9. 查看 日志信息
————————————

当前状态: 已安装 并 已启动

请输入数字 [0-9]:
[/code]#

我输入“1”进行安装。

又过了一段时间,你会看到下面画面:[code]
..
[信息] 开始设置账号配置...
请输入 要添加的VPN账号 用户名
(默认: admin):doubi

        用户名 : doubi

请输入 要添加的VPN账号 密码
(默认: doub.io):doubi233

        密码 : doubi233

请输入VPN服务端的TCP端口
(默认: 443):443

        TCP端口 : 443

请输入VPN服务端的UDP端口
(默认: 443):

        TCP端口 : 443

[信息] 开始设置 iptables防火墙...
...
[/code]#

角色 發表於 2018-8-26 23:13

[i=s] 本帖最後由 角色 於 2018-8-26 23:38 編輯 [/i]

因为我觉得Openconnect比较重要,所以我预留port 443给(both TCP and UDP)都留给Openconnect server。

因为我用RouterOS做router,而port 443和别的port number做port forwarding有些不同,就是要说明哪个interface进入。例如我的就是从ether1。如果不指定interface,Openconnect client能注册Openconnect server,但是没有flow,不能翻墙。[code]
/ip firewall nat
add action=dst-nat chain=dstnat comment="ocserv TCP" dst-port=443 in-interface=ether1 protocol=tcp \
to-addresses=10.0.88.40 to-ports=443
add action=dst-nat chain=dstnat comment="ocserv UDP" dst-port=443 in-interface=ether1 protocol=udp \
to-addresses=10.0.88.40 to-ports=443
[/code]

角色 發表於 2018-8-26 23:43

[i=s] 本帖最後由 角色 於 2018-8-26 23:45 編輯 [/i]

安装完,有的时候修改ocserv.conf,然后重新启动。下面有不同的commands。[code]
/etc/init.d/ocserv start
# 启动 ocserv
/etc/init.d/ocserv stop
# 停止 ocserv
/etc/init.d/ocserv restart
# 重启 ocserv
/etc/init.d/ocserv status
# 查看 ocserv 运行状态
/etc/init.d/ocserv log
# 查看 ocserv 运行日志
/etc/init.d/ocserv test
# 测试 ocserv 配置文件是否正确
[/code]#

我没有用上面的commands,而用[code]
启动系统 service ocserv start
[/code]

角色 發表於 2018-8-26 23:50

[i=s] 本帖最後由 角色 於 2018-8-27 01:23 編輯 [/i]

如果要熟悉Openconnect,我们就需要认识ocserv.conf,下面有不同的samples

Sample 1:
[url]https://gist.github.com/wongsyrone/55165ce767f7248656cc[/url]

Sample 2:
[url]https://ocserv.gitlab.io/www/recipes-ocserv-configuration-basic.html[/url]

Sample 3:
[url]http://www.mmcaijing.com/25859.html[/url]

角色 發表於 2018-8-27 08:13

用Openconnect Server + Cisco AnyConnect Client不能打开的网站:

1. [url]http://www.rthk.hk/[/url]
2. [url]https://www.mingpao.com/[/url]
3. 在myTV Super不能观看免费区的节目

如果您知道怎样解救,欢迎跟帖指教。

角色 發表於 2018-8-30 07:51

虽然public的Cisco AnyConnect client有很多pre-set settings,对于完全翻墙是行不通的,但是一般用是可以的,还有是非常稳定。OpenConnect Server是有OpenConnect client,但是需要自己compile才可以。

有个后背的OpenConnect Server + Cisco AnyConnect Client是不错的选择。至于Cisco AnyConnect client是否可以更改settings,是可以的,但是要subscribe Cisco AnyConnect service, 这对于我们来说,根本没有可能,所以大家都别想,除非是公司去subscribe。

tomleehk 發表於 2018-8-30 10:45

[i=s] 本帖最後由 tomleehk 於 2018-8-30 11:04 編輯 [/i]

奇怪了..

我用Cisco Anyconnect + Openconnect server 這組合在外地看 myTV 或 之後嘅myTV  super 用了多年, ー直可以成功看到

openconnect server 在 openwrt上安裝
行cert 走443port
Cisco Anyconnect client ( IOS, Android, Windows )

角色 發表於 2018-8-30 12:38

那就奇怪,我的cert不是trusted,难度不是trusted,routing就有区别?

CHing,你的cert是trusted吗?

tomleehk 發表於 2018-8-30 14:05

[i=s] 本帖最後由 tomleehk 於 2018-8-30 14:11 編輯 [/i]

亦不是trusted cert , 只喺普通self signed

安裝過程就喺之前Post 過

喺外地如果唔Connect server,mytv client當然喺會出類似外地不能觀看嘅message,一旦connect 之後就可以正常觀看

角色 發表於 2018-8-30 14:15

我在免费区看,出来的结果如下:

[attach]4157[/attach]

不知道CHing你是否能看到,而且没有上面的message?

角色 發表於 2018-8-30 14:16

[i=s] 本帖最後由 角色 於 2018-8-30 14:31 編輯 [/i]

如果十这样可能十OpenConnect  Server的settings不一样,我用default的,可能需要更改一下才能正常看。

下面的RTHK网站,用v2ray能打开,用OpenConnect就打不开。

[url]http://www.rthk.hk/[/url]

你的OpenConnect Server + Cisco AnyConnect Client是否能打开?

tomleehk 發表於 2018-8-30 16:03

[i=s] 本帖最後由 tomleehk 於 2018-8-30 17:05 編輯 [/i]

現在不能試,因正處於香港

但你用Anyconnect連接server之後,用browser開whatismyipaddress com, 確認可以出到香港ip?

ocserv.conf 裡面
route = ip...
route = ip...
route = ip...

可以試吓全部清除, 一句不留

我嘅config一句不留, 全部 target ip 經openconnect server 出去 target ip

角色 發表於 2018-8-30 17:04

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=45321&ptid=7217]14#[/url] [i]tomleehk[/i] [/b]

能显示香港IP。

Cisco AnyConnect Client有个routing table,如果不在list的IP就走香港的Gateway。

角色 發表於 2018-9-13 07:19

[i=s] 本帖最後由 角色 於 2018-9-13 16:22 編輯 [/i]

如果你看不到MyTV Super,RTHK TV,那么就把所有no-routes都delete掉,就可以。[code]
auth = "plain[passwd=/etc/ocserv/ocpasswd]"
# listen-host = [IP|HOSTNAME]
tcp-port = 443
udp-port = 443
run-as-user = nobody
run-as-group = daemon
socket-file = /var/run/ocserv-socket
server-cert = /etc/ocserv/ssl/server-cert.pem
server-key = /etc/ocserv/ssl/server-key.pem
ca-cert = /etc/ocserv/ssl/ca-cert.pem
isolate-workers = true
banner = "Welcome DOUB.IO"
max-clients = 0
max-same-clients = 0
rate-limit-ms = 0
server-stats-reset-time = 604800
keepalive = 32400
dpd = 90
mobile-dpd = 1800
switch-to-tcp-timeout = 25
try-mtu-discovery = false
tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT:-VERS-SSL3.0"
auth-timeout = 240
idle-timeout = 86400
mobile-idle-timeout = 86400
min-reauth-time = 300
max-ban-score = 80
ban-reset-time = 1200
cookie-timeout = 300
deny-roaming = false
rekey-time = 172800
rekey-method = ssl
use-occtl = true
pid-file = /var/run/ocserv.pid
net-priority = 6
device = vpns
predictable-ips = trueipv4-network = 192.168.1.0
ipv4-netmask = 255.255.255.0
# An alternative way of specifying the network:
#ipv4-network = 192.168.1.0/24
# The IPv6 subnet that leases will be given from.
#ipv6-network = fda9:4efe:7e3b:03ea::/48
# Specify the size of the network to provide to clients. It is
# generally recommended to provide clients with a /64 network in
# IPv6, but any subnet may be specified. To provide clients only
# with a single IP use the prefix 128.
#ipv6-subnet-prefix = 128
#ipv6-subnet-prefix = 64

# tunnel-all-dns = true
dns = 8.8.8.8
dns = 8.8.4.4
ping-leases = false

# Beginning of no-route, the following no-routes will be pushed to the client when connected. If all no-routes are removed, then all the traffic will be directed the remote gateway, i.e., Openconnect server gateway
#no-route = 1.0.0.0/255.192.0.0
#no-route = 1.64.0.0/255.224.0.0
#no-route = 1.112.0.0/255.248.0.0
#***
#***
#***
#no-route = 223.0.0.0/255.224.0.0
#no-route = 223.64.0.0/255.192.0.0
#no-route = 223.128.0.0/255.128.0.0
# End of no-route

cisco-client-compat = true
dtls-legacy = true
default-domain = example.com
[/code]

角色 發表於 2018-9-13 16:24

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=45321&ptid=7217]14#[/url] [i]tomleehk[/i] [/b]

谢谢CHing的信息,可能版本不一样。我的就把所有no-route删去就可以了。

tomleehk 發表於 2018-9-13 18:46

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=45363&ptid=7217]17#[/url] [i]角色[/i] [/b]

openwrt平台 亦都要將 openconnect server  上嘅 config file 裏面嘅routing 全部remove 或者 remark 咗佢

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.