OPNsense
  • Home
  • Help
  • Search
  • Login
  • Register

  • OPNsense Forum »
  • International Forums »
  • Chinese - 中文 »
  • opnsense使用透明代理并分流
« previous next »
  • Print
Pages: [1]

Author Topic: opnsense使用透明代理并分流  (Read 8043 times)

evalfun

  • Newbie
  • *
  • Posts: 8
  • Karma: 0
    • View Profile
opnsense使用透明代理并分流
« on: February 20, 2022, 05:00:49 am »
思路:使用tun2socks在系统中创建虚拟接口,将进入接口的流量转换成socks5代理流量,并发送至socks5代理服务器,如v2ray或者clash。

下载tun2socks
https://github.com/xjasonlyu/tun2socks/releases
运行
Code: [Select]
tun2socks -device tun://mytun2socks0 -loglevel info -proxy socks5://127.0.0.1:1081 -stats 0.0.0.0:9000 -udp-timeout 120注意,tun接口名称尽量随机,不能使用默认的tun0名称,否则不会在web界面中显示。
可以运行在screen里面,防止ssh关闭后进程就结束了。
也可以用clash premium,带tunnel功能。闭源软件看着不爽?其实也有clash premium的开源实现,可以找一个
比如这个https://github.com/wwqgtxx/clashr



配置网络。
在接口-分配中分配新的接口。在接口中给新的接口设置一个你不会用到的ip地址。可以设置为10.44.230.1/30
在系统-网关-单个中添加一个网关。接口选择tun2socks的接口,ip地址为10.44.230.2
如果你的代理服务器支持ipv6,你也可以添加一个私有ipv6地址。


设置国内ip段(可选)
https://docs.opnsense.org/manual/how-tos/maxmind_geo_ip.html


设置策略路由
添加两条规则,第一条规则是不对保留地址重定向,以防内网主机无法访问防火墙上的dns服务器。源选择要科学的内网主机,可以使用组来批量管理主机。目标填私有ip段。
第二条规则是对科学流量进行策略路由。源选择要科学的内网主机,目标为反向选择国内ip地址段,如果要全局代理,目标就是any,网关选择新创建的网关。
对规则排序,最后是像这样的



测试结果
访问国外:

访问国内:


Logged

deddey

  • Jr. Member
  • **
  • Posts: 60
  • Karma: 2
    • View Profile
Re: opnsense使用透明代理并分流
« Reply #1 on: March 19, 2022, 05:09:10 am »
这办法真好,完美的透明代理。
建议使用系统的monit来确保tun2socks和clash的正常运行。

另外,dns的污染如何解决呢?要不来个mosdns
Logged

evalfun

  • Newbie
  • *
  • Posts: 8
  • Karma: 0
    • View Profile
Re: opnsense使用透明代理并分流
« Reply #2 on: April 04, 2022, 10:40:04 am »
分享一个我自用的mosdns rc脚本,放到/etc/rc.d下面即可。要修改文件路径
Code: [Select]
#!/bin/sh
#
# $FreeBSD$
#

# PROVIDE: mosdns
# REQUIRE: LOGIN FILESYSTEMS
# KEYWORD: shutdown

. /etc/rc.subr

name="mosdns"
desc="mosdns daemon"
rcvar="mosdns_enable"
command="/usr/sbin/daemon"
pidfile="/var/run/${name}.pid"

procname="/usr/local/mosdns-freebsd-amd64/mosdns"
command_args="-f -p ${pidfile} -u root ${procname} -dir2exe -c config.yaml "

load_rc_config $name
run_rc_command "$1"
Logged

or2me

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
    • View Profile
Re: opnsense使用透明代理并分流
« Reply #3 on: July 27, 2022, 09:41:40 am »
楼主写的很好 我补充几点
1、如果用clash自己的tun模式,那么记得要回去把配置文件里面的那个name改成 opn识别出来的名称;
2、楼主说的那几个IP。比如你本来网段是192.168.1.1/24,那么可以配192.168.1.2
Logged

evalfun

  • Newbie
  • *
  • Posts: 8
  • Karma: 0
    • View Profile
Re: opnsense使用透明代理并分流
« Reply #4 on: September 14, 2022, 05:36:30 am »
请各位注意,这种方法有个致命的问题,如果tun2socks不能在网络服务启动之前启动,那么网络服务启动时会找不到这个接口,导致接口重新分配,并且断网
所以没做好开机自启的,使用中千万不要重启
Logged

鐵血男兒

  • Newbie
  • *
  • Posts: 14
  • Karma: 1
    • View Profile
    • 鐵血男兒的BLOG
Re: opnsense使用透明代理并分流
« Reply #5 on: October 14, 2022, 08:23:10 am »
https://pfschina.org/wp/?p=9628
« Last Edit: December 01, 2022, 09:21:03 am by 鐵血男兒 »
Logged

  • Print
Pages: [1]
« previous next »
  • OPNsense Forum »
  • International Forums »
  • Chinese - 中文 »
  • opnsense使用透明代理并分流
 

OPNsense is an OSS project © Deciso B.V. 2015 - 2023 All rights reserved
  • SMF 2.0.19 | SMF © 2021, Simple Machines
    Privacy Policy
    | XHTML | RSS | WAP2