请选择 进入手机版 | 继续访问电脑版
楼主: benjaminlei

[分享] USG 双WAN策略路由配置示例

[复制链接]

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-2-27 17:51:20 来自手机 | 显示全部楼层
KingWong 发表于 2018-2-27 17:38
好的。先不纠结了。在家里设置,不远程就是了,不影响服务就行。
多咨询一下刚在研究您的代码,其中提到如 ...

这说得不严谨,意思就是x86不通usg连入internet,至于连入方式pppoe和dhcp等等都可以,但强烈建议使用同一运营商双拨,不同运营商还要解决不同运营商分流的策略还有dns策略,这里并没有涉及。
回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-2-27 18:06:01 来自手机 | 显示全部楼层
benjaminlei 发表于 2018-2-27 17:51
这说得不严谨,意思就是x86不通usg连入internet,至于连入方式pppoe和dhcp等等都可以,但强烈建议使用同 ...

还有,如果用带宽叠加,x86路由要再判断一次chnroute,调整weight后wan2也可能分到国内流量。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-2-27 18:21:51 来自手机 | 显示全部楼层
benjaminlei 发表于 2018-2-27 17:51
这说得不严谨,意思就是x86不通usg连入internet,至于连入方式pppoe和dhcp等等都可以,但强烈建议使用同 ...

明白了 先不搞了 先搞定复杂的
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-1 10:24:57 | 显示全部楼层
咨询个细节:
在您的第3、4步操作中间。第三步的第一次强制同步后,自动产生的配置信息是不是就是同步完成后,SSH-configure-show firewall的内容。
第4步的修改JS内容是参考Show Firewall的内容,修改一个新的Config.gateway.json.然后将新的JS覆盖第一个?
回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-1 10:45:19 | 显示全部楼层
KingWong 发表于 2018-3-1 10:24
咨询个细节:
在您的第3、4步操作中间。第三步的第一次强制同步后,自动产生的配置信息是不是就是同步完成 ...

不参考。直接覆盖。
但文中用到了两个群组,必须在unifi新建了两个firewall group,一个address类型,一个port类型,可以从show firewall查到那一串群组名。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-1 10:47:27 | 显示全部楼层
本帖最后由 KingWong 于 2018-3-1 10:54 编辑
benjaminlei 发表于 2018-3-1 10:45
不参考。直接覆盖。
但文中用到了两个群组,必须在unifi新建了两个firewall group,一个address类型,一 ...
明白了。
这两个群组搞定了。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-3 14:02:40 | 显示全部楼层
咨询一下。第8、9步的脚本是放在UCK里 还是 USG上。我看UCK上没有对应目录。USG上有,所以我先把脚本放到USG上了,然后重启了USG,但是检查发现chnroute并没有被填充到config.gateway.json中。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-3 14:03:51 | 显示全部楼层
//5a43aacfe4b0fcf4541bf289是Unifi WEB里面创建的一个地址群组(需找到自动产生的串码),以后通过Unifi WEB添加IP。如果来自于这个群组的IP,就跳出分配。(不继续往下了。)------这个地址群组,放到里面是指定不走WAN2的IP地址吧。
回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-3 14:29:39 来自手机 | 显示全部楼层
KingWong 发表于 2018-3-3 14:02
咨询一下。第8、9步的脚本是放在UCK里 还是 USG上。我看UCK上没有对应目录。USG上有,所以我先把脚本放到US ...

放usg上。
脚本跳过了cli,直接用Linux ipset命令加载。所以要用ipset检查。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-3 14:49:19 来自手机 | 显示全部楼层
好的 基本搞完了 检查一下应该可以了
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-3 15:25:31 | 显示全部楼层
本帖最后由 KingWong 于 2018-3-3 15:27 编辑
benjaminlei 发表于 2018-3-3 14:29
放usg上。
脚本跳过了cli,直接用Linux ipset命令加载。所以要用ipset检查。

重新检查了一下chnroute文件位置放到正确的目录后重启USG。重启后Unifi Controller界面显示USG为已断开状态。USG本身闪白灯。重启前更新新的config.gateway.json强制同步后USG一切正常。就是执行Chnroute脚本之后,变成这样。
网络正常使用。VPN进来也正常。
有线设备不显示在Unifi Controller上。 WX20180303-152346@2x.png

SSH USG 无法进入。
USG IP 网页访问可以正常进入,但是里面是初始状态没有任何参数。

这是有问题的吧。还是就是这样的。


回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-3 15:32:13 来自手机 | 显示全部楼层
当然是有问题
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-3 15:36:54 来自手机 | 显示全部楼层
benjaminlei 发表于 2018-3-3 15:32
当然是有问题

我USG恢复一下设置 再试一下
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-5 13:38:59 | 显示全部楼层
又更新代码了啊。
回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-5 13:50:11 来自手机 | 显示全部楼层
KingWong 发表于 2018-3-5 13:38
又更新代码了啊。

新增了一种方法,完全屏蔽掉了unifi自动产生的load-balance规则,自己写策略路由,没有调用负载均衡组件,没有connmark save,产生的iptables规则比较简单,理论上比较高效。
如果第一种方法没什么问题不需要折腾了。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-5 14:30:17 | 显示全部楼层
benjaminlei 发表于 2018-3-5 13:50
新增了一种方法,完全屏蔽掉了unifi自动产生的load-balance规则,自己写策略路由,没有调用负载均衡组件 ...

周末出问题后,只是恢复了网络设置,还没搞呢。基于新的方案几个问题请教一下:
1、新的方案的话,是不是只要将新代码调整后生成congfig.gateway.json,放到控制器上,执行写入chnroute后,强制同步就好了,原方案其他几步不用做了吧;
2、新方案中您的190、200、210三条rule中的IP。是不是就是我“Show firewall”后,这一部分的三个IP:
  1. address-group guest_restricted_addresses {
  2.          address 192.168.0.0/16
  3.          address 172.16.0.0/12
  4.          address 10.0.0.0/8
  5.          description "restricted addresses for guests"
  6.      }
复制代码
3、代码最后一部分中有很多留空的地方,留空是故意留空的还是需要按实际情况填写的?
  1. "protocols": {
  2.     "static": {
  3.       "table": {
  4.         "200": {
  5.           "route": {
  6.             "0.0.0.0/0": {
  7.               "next-hop": {               
  8.                 "192.168.2.1": "''"
  9.               }
  10.             }
  11.           },
  12.           "interface-route": {
  13.             "192.168.0.0/24": {
  14.               "next-hop-interface": {               
  15.                 "eth1": "''"
  16.               }
  17.             },
  18.             "192.168.2.0/24": {
  19.               "next-hop-interface": {               
  20.                 "eht2": "''"
  21.               }
  22.             }
  23.           }
  24.         }
  25.       }
  26.     }
  27.   }
复制代码
以上。


回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-5 14:36:30 来自手机 | 显示全部楼层
KingWong 发表于 2018-3-5 14:30
周末出问题后,只是恢复了网络设置,还没搞呢。基于新的方案几个问题请教一下:
1、新的方案的话,是不是 ...

你直接倒出一个json文件,去掉pppoe,ddns,l2tp密码,发上来,有空我帮你看看。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-5 15:05:04 | 显示全部楼层
benjaminlei 发表于 2018-3-5 14:36
你直接倒出一个json文件,去掉pppoe,ddns,l2tp密码,发上来,有空我帮你看看。 ...

导哪个json啊。show firewall 这个?
好像没看DDNS和L2tp密码。
回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-5 15:54:47 | 显示全部楼层
KingWong 发表于 2018-3-5 15:05
导哪个json啊。show firewall 这个?
好像没看DDNS和L2tp密码。

mca-ctrl -t dump-cfg > config.json.txt
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-5 16:12:07 | 显示全部楼层
benjaminlei 发表于 2018-3-5 15:54
mca-ctrl -t dump-cfg > config.json.txt

麻烦您了。配置见附件。
config.zip (4.91 KB, 下载次数: 23)
回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-5 16:44:22 | 显示全部楼层
KingWong 发表于 2018-3-5 16:12
麻烦您了。配置见附件。

放到uck后,强行同步一次。1、用脚本加载chnroute

2、还需要解决dns污染的问题。

config.gateway.rar

877 Bytes, 下载次数: 37

回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-5 16:48:39 | 显示全部楼层
benjaminlei 发表于 2018-3-5 16:44
放到uck后,强行同步一次。1、用脚本加载chnroute

2、还需要解决dns污染的问题。

好的。多谢。
WX20180305-164715@2x.png
chnroute.txt的格式是不是就是如图这样的就好了。DNS污染后面再说呗。

回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-5 17:04:08 来自手机 | 显示全部楼层
KingWong 发表于 2018-3-5 16:48
好的。多谢。

chnroute.txt的格式是不是就是如图这样的就好了。DNS污染后面再说呗。

是的。。。。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-5 17:10:15 | 显示全部楼层

多谢指点~~~~~~~~~~
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-5 21:41:50 | 显示全部楼层
本帖最后由 KingWong 于 2018-3-5 22:01 编辑
benjaminlei 发表于 2018-3-5 16:44
放到uck后,强行同步一次。1、用脚本加载chnroute

2、还需要解决dns污染的问题。

测试使用没有大的问题。
使用一段时间发现如下几个:
1、DDNS原来是群晖上做的。现在这样调整后群晖DDNS失败,这个我打算恢复一下群晖试一下。我改了LAN口的网段了。    手动更新DDNS是正常的。-----群晖手动设置也正常了。观察一段时间看能不能自动更新。
2、L2TP明天试一下;
3、如果我后面在开防火墙的话,是在Web Ui里设,还是在config.gateway.json中增加啊?

回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-5 22:14:50 | 显示全部楼层
KingWong 发表于 2018-3-5 21:41
测试使用没有大的问题。
使用一段时间发现如下几个:
1、DDNS原来是群晖上做的。现在这样调整后群晖DDNS失 ...

1、在unifi web里预留了一个address群组,把nas的IP放进去就强制走wan1了,ddns就不会出错。
3、除了创建新的端口转发要修改json文件,其余的配置都是在unifi web里。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-5 22:29:28 | 显示全部楼层
benjaminlei 发表于 2018-3-5 22:14
1、在unifi web里预留了一个address群组,把nas的IP放进去就强制走wan1了,ddns就不会出错。
3、除了创建 ...

明白了。我是NAS的网络因为改了网段有些问题,已经放在群组里了。我再试用一段时间看看。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-6 09:12:10 | 显示全部楼层
benjaminlei 发表于 2018-3-5 22:14
1、在unifi web里预留了一个address群组,把nas的IP放进去就强制走wan1了,ddns就不会出错。
3、除了创建 ...

L2tp正常。DDNS正常。
今天准备写入chntroutede。
执行那个chnroute的脚本的时候提示line 3: CHNROUTE_RULES: command not found
需要怎么调整一下吗?我是在USG root账户下到对应目录,执行:sh gateway2.sh。产生的提示:
脚本内容:
  1. #!/bin/bash
  2. #把chnroute.txt放在/config/user-data/下
  3. CHNROUTE_RULES =/config/user-data/chnroute.txt
  4. sed -e "s/^/add chnroute &/g" $CHNROUTE_RULES | awk '{print $0} END{print "COMMIT"}' | ipset -R
复制代码
回复 支持 反对

使用道具 举报

19

主题

244

帖子

1374

积分

有线传输

Rank: 5

积分
1374
 楼主| 发表于 2018-3-6 09:15:03 | 显示全部楼层
本帖最后由 benjaminlei 于 2018-3-6 09:21 编辑
KingWong 发表于 2018-3-6 09:12
L2tp正常。DDNS正常。
今天准备写入chntroutede。
执行那个chnroute的脚本的时候提示line 3: CHNROUTE_RU ...

CHNROUTE_RULES后面多了一个空格,稍微更新了一下script,第一次加载读txt文件,以后就读cache了。
回复 支持 反对

使用道具 举报

43

主题

503

帖子

1976

积分

有线传输

Rank: 5

积分
1976
发表于 2018-3-6 09:23:51 | 显示全部楼层
benjaminlei 发表于 2018-3-6 09:15
CHNROUTE_RULES后面多了一个空格,稍微更新了一下script,第一次加载读txt文件,以后就读cache了。 ...

好的。马上测试。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

优倍快网络技术咨询(上海)有限公司 沪ICP备13034452

© ubnt.com.cn All Rights Reserved.本站发布的所有内容,未经许可,不得转载.

快速回复 返回顶部 返回列表