一、背景
最近家里新购置了索尼的x700的蓝光机,美亚折扣后几乎半价于国行,真的很香。这款机器内置了网飞,但需要专门的网络线路,这里不多说,于是需要给家里的软路由做一下配置,于是开始了折腾之旅。下面直接写过程,希望可以帮助大家可以少踩坑,图片略过,如果操作过的自然知道怎么做。通过这次折腾我也是深深理解了rt_table在做路由控制方面真的很方便。
二、安装配置openconnect
openwrt安装openconnect client的教程网上很多,这里简述:
- 分别安装luci-proto-openconnect、openconnect两个插件,然后添加新接口,协议那里选择openconnect,然后就是填写ip、端口、账号和密码,证书sha1的计算用以下语句可以远程获取。
openssl s_client -connect xxx.example.com:443 -showcerts 2>/dev/null </dev/null | awk '/-----BEGIN/,/-----END/ { print $0 }' | openssl x509 -noout -fingerprint -sha1 | sed 's/Fingerprint=//' | sed 's/://g'
- 然后取消使用默认网关的选项,防火墙那里选择wan,保存。正常的话这时候已经可以看到的新增的接口已经连接成功并且分配到了私网的ip。那么这时候这个接口并不流入其他接口的数据,而我们需要就是lan口的指定IP(IP段是一个道理)的流量通过新增的openconnect接口出去。那么就需要rt_table帮忙了。
三、rt_table配置路由
- 编辑 /etc/iproute2/rt_tables,在编号0的规则前新增路由规则,编号比253小即可。如 200 tablaA。
ip route add default via 192.168.1.1(这里的IP是新建openconnect接口所分配到IP段的出口网关IP) table tableA
这句主要是给tableA的路由表创建默认的出口地址,所有使用该规则的接口流量都通过192.168.1.1的网关出去。ip rule add from 172.16.10.15(指定的lan口IP) table tableA
这句的作用就是把172.16.10.15加入到路由表tableA中,至此172.16.10.15的网络流量则均通过192.168.1.1的接口转发出去。
四、结论
- rt_table的配置是临时的,持久化,可以参考网上很多教程,最简单的就是把添加路由规则的语句写入启动项每次开机自动运行即可。
- 通过路由规则表的优先级,我们根据我们的需要对本地的网络接口的数据流量进行各种形式的路由。
- 如果有其他使用心得再补充更新。