父母生你是为了什么?

中国的家长有哪些让人难以理解的神逻辑?

胡大曰
以前我也觉得自己的父母有很多我接受不了的神逻辑。现在我是奔四的人了,对社会和人都有了更多的理解。我发现很多本来觉得荒诞的事情,其实都有其潜在的逻辑。只不过这些逻辑不能拿到明面上来说罢了。

你要知道中国是一个农业国。仅仅就在 20 年前,小农经济还是大多数中国人的主要生活方式。而中国文化,尤其是中国式的家庭文化,是建立在小农经济的基础之上的。你要知道,我们的父母,即使已经脱离农村和农业生产多年,但他们中的绝大多数,在思想上依然是小农。

小农经济是什么样的呢? 在古代农业社会,你和你老婆两个人从你爹那里继承了瓦房一间几亩薄田,收成仅能糊口。你要怎么样才能过上好日子呢? 读书走科举路线? 别逗了,即使是在科举发展顶峰的清朝,秀才占人口的比例也不超过万分之二,举人进士就更不用说了。你爹要是没点家底的话,你连字都不会认识,更别说走科举独木桥了。练武走军功路线? 更别逗了,所谓“穷学文,富学武”,你家要不是当地豪强的话,治世你就是大头兵,乱世就是炮灰。

在小农经济中,作为一个普通人,你唯一能过上好日子的希望就是,哐哐哐哐连生五个儿子五个女儿。

那年头孩子又不用考大学上补习班学钢琴,五六岁就能帮家里干活了,饲养成本不过就桌上多加一双筷子,粥里多加一碗水罢了。等孩子们大了你就牛逼了啊。家里妥妥的五个壮劳力,要干活能开荒,要打架谁也不怕,五个女儿嫁出去又多了五个亲家,你说还要给五个儿子娶媳妇? 你有五个儿子,彩礼嫁妆帐上还能吃了亏了?

最重要的是,这五个儿子都是给你干活的,只用管饭,工钱都不用给,用儿子干活比雇工人干活划算多了。到了儿子再生儿子,你孙子也成了壮劳力了,一大家子几十口人唯你独尊,谁能不羡慕你?在古代农业社会,孩子就相当于一个大牲口,制造成本几乎为零,出把子力气就可以了,抚养成本也很低,回报可要高的多,生个孩子比买头牛可划算多了。

理想的中国家庭的发展方式是,你从你爹那里继承到了五亩地,你和你老婆生了五个儿子五个女儿,儿子长大成了壮劳力了有了剩余价值,你再拿剩余价值去换更多的地,若干年后你就有了三十亩地,有五个壮劳力给你干活。儿子还会生儿子,你活的时间越长,你掌握的财富就越多,你的日子就越好。这就是为什么中国人都认为子孙满堂的长寿是人生最大的幸福。等你挂了,你的儿子们分家,一人分六亩地,整体社会财富得到了增加,再来下一个轮回。在小农经济中,你能见到的农村富户,绝大多数都是这么来的。

在小农经济社会中,对于绝大多数人来说,多生孩子,通过剥削孩子的剩余价值来实现财富积累,是唯一可行的上升通道。你和你的儿子们实际上存在一个契约,就是你把他们生下来,把他们抚养成人,他们给你免费打工直到你死。然后分掉你的遗产作为回报。然后他们掌握了生产资料,转过头去再去剥削他们的孩子。但这个契约是不能明说的,因为这个契约存在一个明显的 BUG,那就是你活的时间越长,你的儿子们就越吃亏啊。

你的孩子们是你最重要的财产,但人毕竟是人,不是土地也不是牛马,人是会有自己的念头的。在这种情况下,你最担心的是什么呢? 你最担心的是你的孩子们不听你的话啊。你会担心你还没死呢,他们就开始挑战你的领导权了。你会担心你还没死呢,他们就要离开家过自己的生活,那相当于你损失了一头大牲口啊。然而你越来越老,你的儿子们越来越强壮的趋势是不可避免的,你不可能再像他们小时候那样用揍他们来控制他们了,那怎么办? 只能通过洗脑呗。

以家庭为单位的小农经济是整个中国社会的基础。中国古代社会选择“孝文化”作为主流文化的原因是,古代中国政府需要维护这一经济体系的稳定性。为什么要说“天下没有不是的父母”啊?因为要维护父母不容置疑的权力啊,不然你娃质疑你挑战你的权威怎么办啊。为什么要说“父母养育之恩大过天”啊?因为要让你的孩子从小就认为他们欠了你的啊,这样你才好管理啊。为什么要说“父母在,不远游”啊? 因为你好不容易把儿子养大了,结果他 TMD 远游去了,家里活谁干啊?我还剥削谁去啊?为什么要推崇“埋儿奉母,卧冰求鲤”这种明显的神经病行为啊,因为剩余价值要给父母啊。为什么要说“棍棒底下出孝子”啊,因为要明确父母惩罚子女的合理性啊,不然怎么高效管理啊。

你要懂得一点,小农经济的核心秘密是,财富积累是父母通过剥削子女的剩余价值来实现的,这是整个社会运转的基础。在小农经济家庭中,父母和子女之间的主要关系是剥削和被剥削的关系,父母和子女之间是两个阶级的关系,可以类比资本家和工人之间的关系。我不能说在小农经济家庭中父母和子女之间就是完全没有爱的,生育之爱毕竟是动物的本能,但在“孝文化”中,这种本能的爱往往被利用来强化小农经济的稳定性。

小农经济是整个中国社会稳定的基础。家庭稳定是小农经济稳定的基础。“孝文化”是为了维护家庭稳定的工具。可以说大部分中国传统家庭文化的作用,都是为了帮助你更好的管住你儿子,为了让你儿子更听你的话。因为只有你儿子听话,你才能剥削他,这个经济体系才能运转下去。为什么孔融就是大嘴巴的说了一个“父母无恩论”,曹操就非要杀他不可? 因为他这是在挑战整个社会的意识形态基础,说起来这比谋反罪还要大。父母剥削子女是中国小农经济的秘密,谁都不能说出来。这个秘密被包装在”孝文化“之中。

除了写在书上的“孝文化”以外,中国父母还有很多共同的“习俗”。这些“习俗”就是这个问题下很多答案中的“难以理解的神逻辑”。这些“习俗”能够影响如此深远,原因在于这些“习俗”都是有助于父母更加有效的控制子女的。

为什么你的父母总要贬低你? 因为需要降低你对自己的心理评价,人对自己的心理评价越高,就越不好管理。必须要让你觉得自己一无是处,只能依赖他们生存,这样你才能更听话。

为什么你的父母总是忽视和否定你的感受和想法?因为不能让你有自己的独立意识啊,你要是有自己的感受和想法,那肯定就不好管了啊。所以要告诉你你的感受和想法都是错的,都是假的。你不要有感受,也不要有想法,只要听话就好。

为什么你的父母总是在外人面前揭你的短?因为必须要降低你的自尊啊,人的自尊心越强越不好管啊,自尊心越低的人就越好管啊。

为什么你的父母总要逼你干你不愿意干的事情?这是在明确自己对你的统治地位啊。你越不愿意干的事情越要逼你干,这样才能让你明白到底谁说了算啊,次数多了你就会习惯性无助啊,他们让你干什么你都会服从啊,因为你知道反抗是徒劳的啊。

很多父母不一定懂得这些“习俗”的心理学原理,但他们发现其他人都是这么做的,他们的父母也是这么对待他们的。所以他们也这么做,做着做着就发现甜头了。这么做了之后,管起孩子来轻松多了。

中国传统教育的核心目标就是,让孩子听话。一切你看起来难以理解却又广泛存在的神逻辑,都是为这个目标服务的。在农业社会,一个合格劳动力的第一要求是要听话,其次是身体健康。有没有知识,聪明不聪明那是不重要的。有自我意识,有思考能力,有感情,有个人追求,这些都是负面因素。

在改革开放之后,中国的小农经济社会开始瓦解。大量人口进入城市,中国社会发生了前所未有的改变。有两个变化对小农经济式的家庭冲击最大,首先,在小农经济中,土地这个最重要的生产资料是掌握在父母手里的,孩子必须耕种父母的土地,被父母剥削。现在,生产资料掌握在资本家手里,父母无法通过控制生产资料的方式来控制孩子了,你剥削不到你孩子了。其次,在农业社会,制造一个合格劳动力的成本是非常低的,小孩子五六岁就能帮家里干活回馈家庭了。而现在,你要想制造一个合格劳动力,成本是非常高的,二十几年后他能考自己在社会上自立就已经算是不错的了。在这种情况下,通过剥削自己的孩子来累积财富就不再是一个经济的方案了,所以生育率持续下降。

中国社会的变化太快了。大多数人,尤其是父母那一代在改革开放前已成年的人,都是落后于时代的,中国的”孝文化“太强大了,而人要想挣脱环境是很难的。他们的思维和行为方式还是小农经济家庭的行为方式,所以会和他们的子女产生冲突。当代年轻人遇到的绝大多数家庭问题都是因为现代生产生活方式和小农经济文化之间的冲突。如果退回二百年前,作为子女的你去过的最远的地方是县城,除了在家种地以外不可能找到其他的谋生方式,你是不会觉得你的父母难以理解的。

在改革开放之后,中国家庭关系也产生了非常大的变化。在小农经济中,子女是一定要给父母带来经济回报的。而在当代,很多父母已经能够意识到在当前的社会环境中期待子女带来经济回报是不现实的,但他们依然期待子女给他们带来精神回报,比方说学习成绩好,工作成功,早点结婚,完成自己想完成却没完成的心愿等等,好让自己觉得有成就感,有面子。为了达到这些目的,他们也会试图控制子女,让子女听话。以前做父母养孩子都是养牛,期待经济回报。现在养牛的少了,养宠物狗的多了。但宠物狗也得听话啊。所以神逻辑依然广泛存在。

在我人生的前三十年,我和父母之间的关系给我造成了很多痛苦。在相当长的时间里,我都不知道原因是什么。最近几年我才慢慢明白过来,真正的矛盾在于,我想当人,按照我自己的想法生活,而他们认为我应该当牛或者当宠物狗。在这段关系中我曾经非常痛苦,他们也很痛苦,觉得这个孩子怎么就这么不听话。随着我人生经验的不断积累,我逐渐理解了我父母的想法,我理解了他们为什么会这样,他们为什么会有那么多”神逻辑“。我并不认同他们,但这些理解帮助我更加清晰的审视我和父母之间的关系,帮助我更加理性的处理和他们之间的关系。我很庆幸自己能够想明白这些道理,虽然有点晚。

所以我写下这篇回答,将我的想法分享给与父母相处同样有困惑的朋友。很多中国人都想做一个现代社会的人,拥有独立意志,为自己生活。而你与你父母之间的问题,很可能在于,你父母并不这么想。其实你可以尝试问问你的父母,”你们生我是为了什么?“,看看他们是否能够直面这个问题。通过他们的回答,你也许能够更加清晰的认识你与你父母之间的关系,能够更加合理的处理家庭问题。

有很多评论说我的回答思路清奇角度刁钻的。我不这么认为。

我认为“养孩子是一场交易”在小农经济社会里应该是常识,"养儿防老"这句话人人都知道,你自己养儿是为了防老,你爹养你是为了什么难道你真的心里没点 B 数?各位觉得“父亲生儿子是为了剥削儿子”这样的观点很新奇,是因为大多数年轻人并没有在真正的小农经济社会里长期生活过,并没有真正参与过小农经济社会的核心经济活动。如果你真的生活在小农经济社会里,年纪稍长,你就应该明白这个道理了。所谓“父母的苦心,等你长大了就懂了”,的意思并不是“等你长大了你才知道父母养你是多么的不容易多么的为你好了”,而是“等你长大了你才知道父母为什么要控制你,而你必须用同样的方式去控制你的孩子才行”。

“孝文化”的影响之所以源远流长,一方面是利用了未成年子女对父母天生的依赖和信任,必然有效。另一方面是保护了所有人的期望利益。你小时候傻,觉得“孝”是天经地义的,心甘情愿的被你的父母控制和剥削,等你长大了,明白过劲了,你是不会戳穿这个谎言的,因为你也有自己的孩子,你知道自己也有老的那一天,对你来说最有利的选择是维护这个谎言,反过头来剥削自己的孩子。在小农经济社会中,质疑“孝文化”会侵犯所有人的利益,会人人喊打。

我之所以反对“孝文化”,首先因为这是一个坏的游戏规则。在这个游戏规则下,越是相信和践行“孝文化”的人越吃亏,而越是不相信这个规则,但是却要求别人"孝顺"的人越得益。这个规则逼的人不得不虚伪,这也是为什么中国家庭往往有那么多“神逻辑”。然后我在前边也提到过,“孝文化”的基础,小农经济体系在中国已经基本瓦解了。在小农经济社会中,你维护“孝文化”的原因是,虽然你知道“孝文化”是假的,但你依然会选择至少在形式上孝顺你的父母,通过维护“孝文化”的合理性,你可以剥削你自己的子女找补回来。你对“孝文化”维护的越好,你的子女明白这件事明白的越晚,你的收益越大。但是在现代社会,越来越多的人不会再维护“孝文化”,是因为越来越多的人意识到,在现代和以后,要想剥削自己的子女是越来越难了,你又不掌握生产资料,你自己的子女是要被资本家剥削的。

在当代社会还在弘扬“孝文化”的父母,是在尽最后的努力维护自己的利益。他们向他们自己的父母尽了孝,终于他们的子女成年了,想要享受自己的收益了,突然发现社会变了,自己种了好多年的桃子被别人摘走了。这肯定不甘心啊,但也只能多忽悠子女一天算一天。所以现在的老人内心焦虑的非常多,一辈子的希望就是老了享儿孙福,熬了这么多年,最后泡汤了啊。

有很多评论批评我考虑问题的时候只谈利益不谈家庭感情。然而正相反,正是因为我重视家庭感情才写这么多字抨击“孝文化”的。子女和父母之间的爱与信任本来是天然的,我想没有子女天生不爱父母,天生不爱子女的父母也不多,这本来是人与人之间最基础最真实的感情,但在小农经济生产关系中,父母和子女在经济利益上成为了剥削和被剥削的关系,成为了对立的阶级。为了保障剥削阶级的利益,“孝文化”利用了子女对父母天然的爱与信任,鼓励父母控制和剥削子女,把父母和子女之间的感情变成了维护剥削关系的工具。人与人之间的感情没有了,只剩下了枷锁,这不是真正的父母与子女之间的爱。

MYSQL基准测试

安装mysql(密码输入root)

apt update && apt install mysql-server -y

安装基准工具

apt install sysbench -y

创建测试数据库(有个警告,让你不要在命令行输入密码,无视它就行)

mysql -proot -e "create database test;"

创建500万测试数据

sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test --mysql-table-engine=innodb --mysql-host=localhost --mysql-db=test --mysql-user=root --mysql-password=root prepare

运行测试

sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test --mysql-table-engine=innodb --mysql-host=localhost --mysql-db=test --mysql-user=root --mysql-password=root run

清除测试数据

sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test --mysql-table-engine=innodb --mysql-host=localhost --mysql-db=test --mysql-user=root --mysql-password=root cleanup

一般我们比较关心:

    transactions:                        10000  (514.48 per sec.)

    read/write requests:                 190000 (9775.14 per sec.)

这代表每秒能处理的事务数,以及每秒的读写次数。

附上我的测试结果:

1G内存VPS:
OLTP test statistics:
    queries performed:
        read:                            140000
        write:                           50000
        other:                           20000
        total:                           210000
    transactions:                        10000  (88.77 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 190000 (1686.65 per sec.)
    other operations:                    20000  (177.54 per sec.)

1G内存VPS:

OLTP test statistics:
    queries performed:
        read:                            140000
        write:                           50000
        other:                           20000
        total:                           210000
    transactions:                        10000  (115.97 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 190000 (2203.47 per sec.)
    other operations:                    20000  (231.94 per sec.)

512M内存VPS:

OLTP test statistics:
    queries performed:
        read:                            140000
        write:                           50000
        other:                           20000
        total:                           210000
    transactions:                        10000  (81.30 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 190000 (1544.72 per sec.)
    other operations:                    20000  (162.60 per sec.)

阿里云1G内存VPS:

OLTP test statistics:
    queries performed:
        read:                            140000
        write:                           50000
        other:                           20000
        total:                           210000
    transactions:                        10000  (158.12 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 190000 (3004.20 per sec.)
    other operations:                    20000  (316.23 per sec.)

使用gost搭建一个socks5代理服务器

本教程仅适用于centos7和ubuntu16这样有systemd的系统。低版本系统请勿尝试。

wget "https://github.com/ginuerzh/gost/releases/download/v2.5-rc2/gost_2.5-rc2_linux_amd64.tar.gz"
tar -zxvf gost_2.5-rc2_linux_amd64.tar.gz
mv gost_2.5-rc2_linux_amd64/gost /usr/bin/gost
chmod +x /usr/bin/gost

cat>/lib/systemd/system/gost.service<<EOF
Description=i gost service
After=network.target

[Service]
ExecStart=/usr/bin/gost -C /etc/gost.json

[Install]
WantedBy=multi-user.target
EOF
cat>/etc/gost.json<<EOF
{
    "Debug": true,
    "ServeNodes": [
        "socks5://user:pass@:1088"
    ],
    "ChainNodes": [
    ]
}
EOF
systemctl enable /lib/systemd/system/gost.service
systemctl start gost

你的socks5代理设置在1088端口,用户名user密码pass
你可以编辑/etc/gost.json来修改代理配置。
可以参阅gost教程:https://docs.ginuerzh.xyz/gost/configuration/
完成

mysql显示当前执行sql: show processlist 详解

最近排查一些MySQL的问题,会经常用到 show processlist,所以在这里把这个命令总结一下,做个备忘,以备不时只需。show processlist 是显示用户正在运行的线程,需要注意的是,除了 root 用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程,看不到其它用户正在运行的线程。除非单独个这个用户赋予了PROCESS 权限。
v2-eb4254945a43d5fdc0e8718da8183aa6_b.jpg

v2-1c028842dcc9e9b659279d3660e04e29_b.jpg

v2-8f56f112c1809b4308258e154de41942_b.jpg

show processlist 显示的信息都是来自MySQL系统库 information_schema 中的 processlist 表。所以使用下面的查询语句可以获得相同的结果:

  • Id: 就是这个线程的唯一标识,当我们发现这个线程有问题的时候,可以通过 kill 命令,加上这个Id值将这个线程杀掉。前面我们说了show processlist 显示的信息时来自information_schema.processlist 表,所以这个Id就是这个表的主键。
  • User: 就是指启动这个线程的用户。
  • Host: 记录了发送请求的客户端的 IP 和 端口号。通过这些信息在排查问题的时候,我们可以定位到是哪个客户端的哪个进程发送的请求。
  • DB: 当前执行的命令是在哪一个数据库上。如果没有指定数据库,则该值为 NULL 。
  • Command: 是指此刻该线程正在执行的命令。这个很复杂,下面单独解释
  • Time: 表示该线程处于当前状态的时间。
  • State: 线程的状态,和 Command 对应,下面单独解释。
  • Info: 一般记录的是线程执行的语句。默认只显示前100个字符,也就是你看到的语句可能是截断了的,要看全部信息,需要使用 show full processlist。

下面我们单独看一下 Command 的值:

  • Binlog Dump: 主节点正在将二进制日志 ,同步到从节点
  • Change User: 正在执行一个 change-user 的操作
  • Close Stmt: 正在关闭一个Prepared Statement 对象
  • Connect: 一个从节点连上了主节点
  • Connect Out: 一个从节点正在连主节点
  • Create DB: 正在执行一个create-database 的操作
  • Daemon: 服务器内部线程,而不是来自客户端的链接
  • Debug: 线程正在生成调试信息
  • Delayed Insert: 该线程是一个延迟插入的处理程序
  • Drop DB: 正在执行一个 drop-database 的操作
  • Execute: 正在执行一个 Prepared Statement
  • Fetch: 正在从Prepared Statement 中获取执行结果
  • Field List: 正在获取表的列信息
  • Init DB: 该线程正在选取一个默认的数据库
  • Kill : 正在执行 kill 语句,杀死指定线程
  • Long Data: 正在从Prepared Statement 中检索 long data
  • Ping: 正在处理 server-ping 的请求
  • Prepare: 该线程正在准备一个 Prepared Statement
  • ProcessList: 该线程正在生成服务器线程相关信息
  • Query: 该线程正在执行一个语句
  • Quit: 该线程正在退出
  • Refresh:该线程正在刷表,日志或缓存;或者在重置状态变量,或者在复制服务器信息
  • Register Slave: 正在注册从节点
  • Reset Stmt: 正在重置 prepared statement
  • Set Option: 正在设置或重置客户端的 statement-execution 选项
  • Shutdown: 正在关闭服务器
  • Sleep: 正在等待客户端向它发送执行语句
  • Statistics: 该线程正在生成 server-status 信息
  • Table Dump: 正在发送表的内容到从服务器
  • Time: Unused

如果有歧义可以查看官方文档: 8.14.1 Thread Command Values
下面我们看看 State 的值有哪些:
...... 发现有大神已经总结的超好了:MySQL SHOW PROCESSLIST协助故障诊断
官方文档关于 State 的解释: 8.14.2 General Thread States
下面是常用到的SQL,记录下来便于使用。
按客户端 IP 分组,看哪个客户端的链接数最多

select client_ip,count(client_ip) as client_num from (select substring_index(host,':' ,1) as client_ip from processlist ) as connect_info group by client_ip order by client_num desc;

查看正在执行的线程,并按 Time 倒排序,看看有没有执行时间特别长的线程

select * from information_schema.processlist where Command != 'Sleep' order by Time desc;

找出所有执行时间超过 5 分钟的线程,拼凑出 kill 语句,方便后面查杀

select concat('kill ', id, ';') from information_schema.processlist where Command != 'Sleep' and Time > 300 order by Time desc;

后面,还有什么发现,再继续更新。

作者:Cailiang
链接:https://zhuanlan.zhihu.com/p/30743094
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

ss-redir透明代理

1、编译出ss-redir

2、运行ss-redir在12345端口,如果开启udp,请一定确认服务端支持udp

3、将经过本机TCP流量转发到ss-redir

#TCP
iptables -t nat -N SSTCP
iptables -t nat -A SSTCP -d 47.88.230.202/32 -j RETURN
iptables -t nat -A SSTCP -d 0.0.0.0/8 -j RETURN
iptables -t nat -A SSTCP -d 10.0.0.0/8 -j RETURN
iptables -t nat -A SSTCP -d 127.0.0.0/8 -j RETURN
iptables -t nat -A SSTCP -d 169.254.0.0/16 -j RETURN
iptables -t nat -A SSTCP -d 172.16.0.0/12 -j RETURN
iptables -t nat -A SSTCP -d 192.168.0.0/16 -j RETURN
iptables -t nat -A SSTCP -d 224.0.0.0/4 -j RETURN
iptables -t nat -A SSTCP -d 240.0.0.0/4 -j RETURN
iptables -t nat -A SSTCP -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A PREROUTING -j SSTCP

4、使用TPROXY target转发UDP流量

#增加IP mark, tproxy转发需要
ip rule add fwmark 0x01/0x01 table 100
ip route add local 0.0.0.0/0 dev lo table 100
#UDP
iptables -t mangle -N SSUDP
iptables -t mangle -A SSUDP -d 47.88.230.202/32 -j RETURN
iptables -t mangle -A SSUDP -d 0.0.0.0/8 -j RETURN
iptables -t mangle -A SSUDP -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A SSUDP -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A SSUDP -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A SSUDP -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A SSUDP -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A SSUDP -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A SSUDP -d 240.0.0.0/4 -j RETURN
iptables -t mangle -A SSUDP -p udp -j TPROXY --on-port 12345 --on-ip 0.0.0.0 --tproxy-mark 0x1/0x1
iptables -t mangle -A PREROUTING -j SSUDP

3、完成。如有异常,请查看ss-redir的log,记得加上-v

理论上redsocks也可以这样。