跳转到内容
View in the app

A better way to browse. Learn more.

彼岸论坛

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[宽带症候群] FreeBSD 的主副路由表(FIB, 多路由表)值得好好利用,指定应用走特定虚拟网卡十分方便

发表于

简单来说,就是选定的应用走特定的路由表,达到指定出口的效果,连防火墙规则都不用配置。简单到只需要几个字符的简短命令即可做到。

比如,我可以在一台 FreeBSD 机器连接上 Cloudflare Warp ,连接时“改道”至副路由表(假设是1 号表)。连接完成后,WireGuard 会在副路由表中把默认路由指向 Cloudflare Warp 的 IP 。这样一来,其它程序都会不会受到影响,继续按照主路由表(即 0 号表)的规则通讯。

如何使指定程序走 Cloudflare Warp 通道呢?我要 ping 命令走该通道,只需前面加一条 setfib 命令即可:

setfib 1 ping -c 10 8.8.8.8

就这么简单。现在 ping 程序就从 Cloudflare Warp 通道出去了。各种联网程序都可以这样做。

对于开机自启的服务程序,也可以使它们走副路由表。只需要编辑 rc.conf ,给对应程序添加_fib=1后缀即可。就像这样:

somesocks_enable="YES"
somesocks_fib=1

WireGuard 除外,需要编辑 wg*.conf 加一行 Table = 1 才可以。


注意:需要先启用 FIB 。

默认情况下,FreeBSD 只会提供单个路由表,想要启用副路由表就必须自行启用。步骤很简单:

打开 /boot/loader.conf ,加入一行:

net.fibs=2

重启系统。

现在,0 号表就是默认路由表,我称之为主路由表。其它编号的就是副路由表。

想要多少个路由表,数值就写多少。只要有需要,net.fibs=100都可以。


我利用这个特点在 VPS 上连接了 Cloudflare Warp ,将*ray/ss 的流量改成走 Cloudflare Warp 通道,而自己的中转程序继续走默认路由表,达到入口 IP 和出口 IP 都不同的效果:
利用 FreeBSD 主副路由表(FIB)在服务器使用 Cloudflare Warp

在这个基础上可以延伸出更灵活的做法,比如同时连上多个 wireguard 隧道,多个 ss 分别走对应的通道,每个 ss 监听不同的端口,中转程序连接不同的端口即可实现动态切换出口位置。比起单路由表+策略路由,这样做的灵活度高了很多。

PS: 中转程序不一定必须是我链接里的那个,也可以是其它转发程序

Featured Replies

没有可显示的帖子

创建帐户或登录来提出意见

Account

导航

搜索

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.