10/07/2018

使用Gargoyle 1.10.0固件設置OpenConnect VPN伺服器

之前文章說起因家人及自己的需要,要建立不同的VPN伺服器,對應「翻牆」。本篇文章是關於在Gargoyle中設置OpenConnect VPN伺服器。

OpenConnect是一款SSL VPN,支持Cisco AnyConnect。因應Cisco AnyConnect支援平台十分廣泛,設置OpenConnect VPN伺服器能大大增加「翻牆」機會。
在設定之前,要先下載以下的工具:
1. PuTTY: https://www.putty.org/
2. WinSCP: https://winscp.net/
因為本人不想用証書方式登入VPN,想用用戶身分登陸伺服器,但因為Gargoyle中沒有像OpenWrt的LuCI介面來設置OpenConnect,所以在所有設定之前先備份Gargoyle的設定檔,然後下載和升級LEDE,登入PuTTY,然後輸入以下指令:
opkg update
opkg install ocserv
opkg install luci-app-ocserv
安裝完成之後,登入LEDE後就會發現增加了Services - OpenConnect的頁面:
在設定VPN地址時,最好和之前定下的OpenVPN伺服器一樣,其他設定自己喜歡就可以:
DNS伺服器設置公用DNS便可,我選用是Google的。另外,不用設置路由表:
之後到用戶介面,輸入要設定的用戶和密碼:
完成後備份LEDE的設定檔。
再刷回Gargoyle 1.10.0,匯入剛剛備份的Gargoyle系統設定案,在相對應OpenWrt 15.05.1的Packages頁面下載以下的所需程式:
certtool
libgmp
libgnutls
libhttp-parser
libncurses
libnettle
libprotobuf-c
libreadline
ocserv
terminfo
將下載好的程式以WinSCP匯入至/tmp:

  打開PuTTY輸入以下指令,按照指示一個一個應用程式安裝:
opkg update
opkg install ocserv*
安裝完成後以WinSCP匯入之前的設定檔案至相關資料夾:
在/etc/firewall.user添加以下編碼:
iptables -A input_rule -i vpns+ -j ACCEPT
iptables -A forwarding_rule -i vpns+ -j ACCEPT
iptables -A forwarding_rule -o vpns+ -j ACCEPT
iptables -A output_rule -o vpns+ -j ACCEPT

iptables -t nat -I POSTROUTING -s 10.9.0.0/24 -o eth0.2 -j MASQUERADE
iptables -A FORWARD -i vpns+ -s 10.9.0.0/24 -j ACCEPT
iptables -I INPUT -i vpns+ -s 10.9.0.0/24 -j ACCEPT
在/etc/config/firewall中添加以下編碼:
 option device 'vpns+' #加在config zone 'VPN_zone'裡

config rule
 option name 'Allow-OpenConnect-In (tcp)'
 option src 'wan'
 option proto 'tcp'
 option dest_port '4443'
 option target 'ACCEPT'

config rule
 option name 'Allow-OpenConnect-In (udp)'
 option src 'wan'
 option proto 'udp'
 option dest_port '4443'
 option target 'ACCEPT'

config redirect
 option target 'DNAT'
 option src 'wan'
 option dest 'lan'
 option name 'OpenConnect'
 option proto 'tcp udp'
 option src_port '4443'
 option dest_port '4443'
 option dest_ip '192.168.1.1'
設置完成後重啟路由器即可。

在Windows中的設置中,要先下載Cisco AnyConnect,官網下載是需要有Cisco帳戶的,自己搜索一下就可以。下載後按下安裝:
安裝完成:
開啟應用程式,輸入之前設定的DDNS和通訊埠,例如name.noip.net:4443:
點選在左下角的選項符號,勾除「Block connections to untrusted servers」:
然後按連接,再按「Connect Anyway」:
輸入帳戶:
和密碼,再按多一次「Connect Anyway」:
完成連線。

在iOS上的行動裝置設定OpenVPN也是十分簡單的,首先在App Store中下載及安裝Cisco AnyConnect
打開Cisco AnyConnect應用程式,按選項取消「Block Untrusted Servers」:
新增連線,輸入之前設定的DDNS和通訊埠:

輸入帳戶:
和密碼:

完成連線。

在Android的行動裝置上設置和iOS設備是一樣的,在此就不詳細列明了,Google Play下載及安裝Cisco AnyConnect應用程式:


連結:
Gargoyle: https://www.gargoyle-router.com/
OpenConnect: http://www.infradead.org/openconnect/

No comments:

Post a Comment