pfSense、OPNsense配置tun2socks(透明代理)

tun2socks (tunnel to socks) 是一种将隧道 流量转发到socks代理的工具,通常可以用来进行全局流量代理,也可以配合路由表设置,进行一些特定网段的流量代理。由于tun2socks跨平台的特点,也完美支持freebsd。本文介绍在pfSense、OPNsense当中配置tun2socks,实现透明代理的方法。

前提条件:参考下面的教程配置好socks代理,并确保socks代理能正常使用。

pfSense

安装

下载附件tun2socks安装包并解压缩,修改config.yaml的socks5代理地址,clash(mihomo)默认为127.0.0.1:7891,如果是sing-box的前置代理,一般是lan ip:1080。将改好配置的安装包上传到pfSense防火墙,进入程序目录,运行命令安装 tun2socks:

sh pf_install .sh

脚本会显示以下内容:

====== tun2socks for pfSense一键安装脚本 =====

文件复制完成!

tun2socks_enable: YES -> YES
启动参数添加完成!
执行权限添加完成!
tun2socks安装完成!

tun2socks运行命令:
启动: service tun2socks start
停止: service tun2socks stop
重启: service tun2socks restart

手动调试命令:
/usr/local/bin/tun2socks -config /usr/local/etc/tun2socks/config.yaml

添加接口

使用以下命令启动tun2socks,并激活tun接口:

service tun2socks start

也可以运行手动调试模式,方便检查故障(推荐方式):

/usr/local/bin/tun2socks -config /usr/local/etc/tun2socks/config.yaml

转到接口>分配,添加tun_socks接口,启用并设置IP和网关。注意分配IP和网关不要与现有任何接口地址冲突。

添加规则

设置分流规则,让国外IP走tun接口,国内IP走默认网关。转到防火墙>别名管理,网址选项卡,点击右下角添加按钮,添加国内IP段更新网址

转到防火墙>规则策略,LAN选项卡,修改LAN接口默认规则,国内IP走默认网关,目标选中主机名别名CN_IP,网关为默认网关。

添加另一条国外IP走透明网关的分流规则,源LAN子网,目标any。

网关选tun网关。

 

设置完成,点击保存。LAN接口规则如下图所示:

开机自启

在Shellcmd插件里,添加一条开机启动命令“service tun2socks start”,注意Shellcmd类型选“earlyshellcmd”,必须早于网络启动前启动tun2socks,否则tun接口将不起作用。

检查测试

配置完成以后,重启防火墙,测试是否能正常访问google、youtube等网站,访问ip111.cn,检查分流是否正常。

OPNsense

安装

将改好配置的安装包上传到OPNSense防火墙,进入程序目录,运行以下命令安装 tun2socks:

sh opn_install .sh

添加接口

使用以下命令启动tun2socks,并激活tun接口:

service tun2socks start

也可以运行手动调试模式,方便检查故障(推荐方式):

/usr/local/bin/tun2socks -config /usr/local/etc/tun2socks/config.yaml

转到接口>分配,添加tun接口,启用并配置静态IP和网关。注意分配IP和网关不能与现有任何接口地址冲突。

添加网关,在添加完成以后,注意回到接口设置,选中新添加的网关。

添加规则

设置分流规则,让国外IP走tun接口,国内IP走默认网关。这里需要用到别名,添加别名有两种方法,一种是使用GeoIP,另一种是使用网址表,两个选一种即可。

1、添加GeoIP别名

转到防火墙>别名,GeoIP 设置选项卡,在网址栏粘贴下面的链接地址并应用:

https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=fzp4V6mjbTHvbqGj&suffix=zip

转到防火墙>别名,添加一个中国区GeoIP别名。

添加完成并应用后,如下图所示:

2、添加网址表别名

转到防火墙>别名,添加一个别名,类型选URL Table(IPs),刷新(更新)频率根据需要填写,内容直接粘贴下面的地址,然后保存即可。

https://ispip.clang.cn/all_cn_cidr.txt

别名设置完成以后,转到防火墙>规则策略,LAN选项卡,修改默认接口规则。地址族IPv4,协议any,目标CN_IP,网关指定为默认或运营商出口网关。

 

添加另一条国外IP走透明网关的分流规则。源LAN子网,目标any,网关选tun网关。

设置完成以后,LAN接口规则如下图所示:

注意:两条规则的顺序不能弄错。

开机自启

安装脚本已添加开机自启命令,无需再设置。

检查测试

配置完成以后,重启防火墙,测试是否能正常访问google、youtube等网站,访问 ip111.cn,检查分流是否正常。

其他事项

有网友提出,像clash、sing-box等已内置分流配置的代理工具,是否还需要做中国IP策略路由的问题,经过测试是需要的。如果不做策略路由,很多国外网站会打不开,访问不稳定。

附件下载

tun2socks for pfSense and OPNsense

参考文章:

在 OPNsense 上安装 tun2socks 服务

相关文章:

评论

  1. President0296
    2 月前
    2024-9-18 17:08:15

    请问下如果clash已经做好了分流,这个最后一步的的分流还需要做嘛,会不会有些重复?

    • Avatar photo
      博主
      President0296
      2 月前
      2024-9-18 17:18:24

      你可以试一试,不做策略路由访问是否正常。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇