OpenVPN Site-to-Site VPN between Asus Merlin And Ubnt EdgeRouter

前言 Network Topology RT-AC68U 使用PPPoE拨号上网,但是分配的IP是100.64.204.111, 看着像公网IP实际却是Carrier-grade NAT. 现在需要将RT-AC68U与一台在公网的EdgeRouter使用OpenVPN Site-to-Site连接起来,并在RT-AC68U端实现policy-based routing。 需要让RT-AC68U下的所有设备能访问EdgeRouter LAN的网络,并根据需求透过VPS访问指定互联网。 本实验参考下列文章: Set up OpenVPN Site-to-Site on UBNT EdgeRouter Lite EdgeRouter OpenVPN Connectivity Monitor EdgeRouter 策略路由实现分析 EdgeRouter Policy Based Routing Using DNSMASQ IPSET Link to this post!

EdgeRouter Policy Based Routing Using DNSMASQ IPSET

之前用SNIProxy按域名区分流量,着实麻烦。尤其是后期发现路由表莫名其妙出问题。 EdgeRouter的Policy Based Routing(PBR)使用的是自带配置语法的firewall modify功能。 官方有两篇教程: EdgeRouter – Policy-based routing for destination port EdgeRouter – Policy-based routing (source address based) 第二篇文章顺带提了network-group。之前在配置VPN时,使用过network-group,还比较过使用firewall modify + network-group 与配置一堆interface-route的区别。 而,这里的network-group的实现,使用了netfilter的ipset。Man pages可以看这里,命令在edgerouter上也附带了。 dnsmasq支持 ‘–ipset‘ 参数,把对配置域名解析的IP存入到指定的ipset。具体细节可以看dnsmasq的文档。 dnsmasq配置的语法比较简单。

domain 部分参考 address 的语法。例如:

配置好所有自己需要的域名,重启dnsmasq即可。 ipset本身支持timeout,但是edge os的network-group不支持,所以在配置dnsmasq之前,最好创建一个新的network-group。 假定新建的ipset名叫 MY_SET,edge router的主要相关配置如下:

其他诸如配置 static table, interface firewall 可以参考最前边的文档。 Incoming search terms:edgeos firewall network-group … Continue reading “EdgeRouter Policy Based Routing Using DNSMASQ IPSET”

L2TP Remote Access Server on UBNT EdgeRouter

EdgeRouter Lite with Firmware 1.9.0 L2TP PSK Mode. WAN interface: eth1 LAN IP: 192.168.3.1 VPN Subnets: 192.168.47.1-192.168.47.99 Run commands below in ‘configure mode’. 1 Configure IPSec

2 Configure L2TP

3 Configure DNS Make sure you have following lines, otherwise you can get DNS resolved.

Incoming search terms:edgerouter lite l2tpLink to this post!

UBNT EdgeOS 配置设备路由(interface-route)的方法

之前 EdgeOS PPTP VPN客户端配置 里,配置VPN后,需要按需配置路由。由于自用的路由下一跳IP不确定,所以用了 interface-route。 配置命令如下:

按这种方式配置路由的麻烦在于,每次输入都需要把目标网段后边配上一个interface,万一哪天需要改这个interface,要不一个一个改,要不重新导入配置文件。 另外一个方法是用路由表+防火墙 路由表如下:

防火墙里配置一个地址组,并配好modify规则

再把内外网口的防火墙规则改一下

就行了。这里我的eth1连的外网,eth0是LAN。 不过这里有个case我没试过,直接配置interface-route的方法,如果目标网段的interface掉了,会回落到默认的出口上,不知道modify的效果如何。 EdgeOS 1.8b3下firewall的log记录在 /var/log/messages 里,可以看到请求命中了哪个规则。 Incoming search terms:EDGEOSset firewall on ubntset interfaces ethernet eth0 firewall in modify balanceubnt edgeos su rootubnt 防火墙禁pingLink to this post!