anyconnect 外部控制管理vpn连接

之前公司所有人都使用iPhone,为了方便微信网页测试,用AnyConnect来实现DNS推送,将微信的网页域名指向不同开发、测试环境的IP。 iOS可以使用Apple Configurator生成mobileconfig文件来配置AnyConnect。最早使用这份配置的时候,发现如果使用密码认证,即便配置文件里写了用户名和密码,iOS的AnyConnect还是会需要用户再输入一次密码。所以一直以来用AnyConnect做的各种解决方案都是使用证书的方式,将用户证书和CA证书一并集成到mobileconfig文件里。 不幸的是去年下半年的某天,突然就发现iOS的AnyConnect连上了VPN,但是DNS不生效了。 那会儿,iOS升级到10.2之后的某个版本,AnyConnect在iOS平台推出了新版客户端,老的改名Legacy了。 换了新版,同样的配置文件下发方式,这回问题更大了,直接连不上。日志里看到的内容大概是客户端不知道该用哪份证书进行身份验证。 研究了cisco的文档,发现可以用 anyconnect://connect 直接呼起客户端的连接操作,而这个链接iOS和Android都可用。 链接类似如下: anyconnect://connect/?name=Int&host=vpn-internal.sskaje.me:8433&prefill_username=user&prefill_password=password&onsuccess=http%3A%2F%2Fsskaje.me%2Fsuccess 不过由于安全原因,AnyConnect默认将“外部控制”的功能关闭了。(其实,我之前一直以为这个是服务器可以推送客户端执行命令的功能,所以很敏感) 在设置中改为提示 或者 启用。 而,之前dns不生效的功能,现在只能开启 split-dns 了。 Incoming search terms:AnyConnect微信https://yandex ru/clck/jsredir?from=yandex ru;search;web;;&text=&etext=1876 rJWDCG0-5yz41weIy0Y40tPqZ2CBQVoo3wawwkwgt_4 a8b99189c438cc5c8a027fcf9d01b4d85c875d33&uuid=&state=_BLhILn4SxNIvvL0W45KSic66uCIg23qh8iRG98qeIXmeppkgUc0YFUVNhHyyhJgRFriceyv6situne外部控制 anyconnect://connect/Link to this post!

EdgeRouter PPtP Server访问本地DNS服务

UBNT EdgeRouter 自带了PPTP Server,典型的配置方法是

官方参考guide: https://help.ubnt.com/hc/en-us/articles/205220840-EdgeMAX-PPTP-VPN-with-local-users-RADIUS 这个案例里,我的路由eth0是LAN口,eth0的IP是 192.168.100.1,这个配置下我的pptp客户端能正常访问到我的内网的机器。 但是如果我需要把DNS设成 192.168.100.1,DNS请求就会一直没响应。 路由端抓 UDP 53 的包,可以看到pptp客户端发出的dns请求,但是没有回包。 看了眼/etc/dnsmasq.conf:

man dnsmasq -i, –interface= Listen only on the specified interface(s). Dnsmasq automatically adds the loopback (local) interface to the list of interfaces to use when the –interface option is used. If no –interface or –listen-address options are given … Continue reading “EdgeRouter PPtP Server访问本地DNS服务”

TunnelBroker for EdgeRouter Lite

创建隧道 在北京联通这种不给IPv6网络的ISP下生存,总有走v6翻墙的欲望。 免费的Tunnel服务很多,最出名莫过HE.net的TunnelBroker 首先申请一个Tunnel。 访问:

注册登录之后,创建并输入当前路由公网IP “YOUR.ROUTER.INTERNET.IP”。 创建成功后会被跳转到

XXXXX的部分是一串数字,所谓的Tunnel ID. 在这个页面上选择第二个标签页 “Example Configurations” 选择 “Vyatta / Ubiquiti EdgeMAX” 文本框会自动生成如下配置:

remote-ip是创建时选择的远端服务器IP,local-ip是本地当前的出口IP。 鉴于ISP给的IP都是动态的,所以local-ip改成如下‘0.0.0.0’。 如果之前有配置过tunnel,需要重新配置,则先删除既有的:

下面开始命令配置tunnel

Router Advert 配置完tunnel,就得配局域网内的配置了,毕竟只有路由能上v6是不够的

如果你本地的DNS规则有过配置,radvd-options 的配置一定要把ipv6地址设成路由器的v6地址 实践证明,我之前折腾了好久的dhcpv6没用,但是配置也可以贴出来

自动更新IP 之前一片EdgeRouter Lite相关的配置文章里,我把He.net提供的DDNS配置好了。Dynamic DNS on HE.net, HE.net Dynamic DNS on Ubiquiti Router. 脚本更新 首先按如下路径生成ddns专用的key

尝试过好多次,EdgeRouter Lite无法通过配置参数添加多个同类型的ddns配置。所以先提供一个简单粗暴的方法。 参考 https://forums.he.net/index.php?topic=1994.0 的说明,有如下的客户端语法: … Continue reading “TunnelBroker for EdgeRouter Lite”

PHP ODBC Connect Cloudera Impala and Hive

Environment CentOS 5.5 PHP 5.3.10 (This article also works for PHP 5.3.3 on CentOS 6). Dependencies UnixODBC UnixODBC can be installed from yum repo

I built a unixODBC 2.3.2 from source, installed to /usr/local/unixODBC ODBC Connectors Cloudera offers ODBC libs for both Hive and Impala: http://www.cloudera.com/content/support/en/downloads/connectors/impala/impala-odbc-v2-5-15.html http://www.cloudera.com/content/support/en/downloads/connectors/hive/hive-odbc-v2-5-9.html Follow the install guide on urls above, … Continue reading “PHP ODBC Connect Cloudera Impala and Hive”

Make FTP Active Mode Passive

First thing I should say is about the FTP active/passive mode, or say PORT/PASV mode. We can read the differences from wikipedia or Active FTP vs. Passive FTP, a Definitive Explanation. The two mode indicates who initialise the data connection and the active/passive is used to describe server’s action. Active mode: server create a connection … Continue reading “Make FTP Active Mode Passive”