Reading view

There are new articles available, click to refresh the page.

倪刃|不折腾老百姓,就是好时代

天下之事,最怕“折腾”二字。

所以,不仅是难得糊涂,还难得不折腾。

老百姓,生于泥土而长于炊烟,他们自古以来所求无非是风调雨顺、安居乐业。然而,在历史车轮的碾压之下,总有一些朝代将百姓当棋子、把江山作赌局,折腾得从上到下都鸡犬不宁。

反之,那些不折腾老百姓的时代,才是值得铭记的好时代。

汉文帝刘恒,就是一个深谙“不折腾”道理的皇帝。

刘恒是刘邦与薄姬之子,薄姬原为魏王魏豹的妾,后来成为刘邦的妃子。刘恒继位时,天下刚刚走出楚汉战争的腥风血雨,百姓尚未从残酷的兵荒马乱、苛政与重税当中喘过气来。文帝思索再三,决定做个不折腾的皇帝。于是他减免田租,轻徭薄赋。

CDT 档案卡
标题:不折腾老百姓,就是好时代
作者:倪刃
发表日期:2025.2.10
来源:微信公众号“倪刃”
主题归类:不折腾
CDS收藏:公民馆
版权说明:该作品版权归原作者所有。中国数字时代仅对原作进行存档,以对抗中国的网络审查。详细版权说明

他为了减轻田租税率,曾两次“除田租税之半”,即租率由十五税一减为三十税一。减税很直接地促进了民间的生产积极性,让汉初的经济恢复很快。

file

更让人惊叹的是,刘恒还曾废除了一项极为残酷的酷刑——“诛连之法”,不再让无辜者因亲属犯罪而受牵连。对普通百姓而言,这可是天降大恩,犹如长夜里的一道曙光。

刘恒也同时废除了肉刑,这样一来,就让社会气氛变得轻松起来。我们也很容易注意到,在历史上但凡喜欢严刑峻法、以刑立威的时代,往往就喜欢折腾。越是刑罚重的时代,就越是压抑、人人自危。

除了轻徭薄赋,刘恒还十分自律,缩减了很多宫里的奢侈开支——传说他穿的衣服,上面还有补丁。葬礼方面他主张薄葬,也是为了减轻国民负担。

刘恒还很注重法治社会的建设,他要求法律必须伸张正义,不能沦为权力的工具,避免了很多的冤假错案。

这位皇帝也重视文化事业,而不像那些爱折腾的时代,都会先折腾知识分子。刘恒非常推崇学者和文化人,给予他们很高的地位,鼓励他们进行文化创作。

刘恒有这样的思想,除了与他的性格有关,也跟他的经历有关。在早年,刘恒在晋阳也就是现在的太原被刘邦任命为王,在这里他与老百姓一起生活过很长时间,一起劳动,对于民间的生活他不仅熟悉,而且深切懂得了老百姓对于安定与平等的渴望。

于是,天下逐渐富庶起来。田野间,耕牛悠然低头,村舍旁,炊烟袅袅升起。汉文帝这一“不折腾”政策,让百姓得以休养生息,奠定了汉朝的强盛根基。

这,就是不折腾带来的好时代。

再说一个例子——唐太宗李世民。在这个话题中我要谈谈的是另一种不折腾,那就是“至折腾朝廷权贵,但不折腾老百姓”。

在玄武门兵变当中,李世民杀兄弟、逼父皇,手段残酷无情。然而在登基之后,他却展现了令人意想不到的气度——他不折腾百姓。

所以,李世民也是一个好皇帝,他把狠劲全都用在了得到权力上面,而不是用狠劲来对付老百姓。

file

李世民也出身于民间,知晓百姓之苦,便下令轻赋税、修水利、劝农桑;他也知晓吏治之害,便重用魏征等直臣,整顿朝纲。

历史也往往是这样,越是不喜欢折腾的皇帝,就越是注重广开言路、开放治国;越是那些爱折腾的皇帝,则越是闭目塞听、管控社会舆论,唯我独尊。

李世民还提出了一个伟大的政治理想——“君舟民水”,意思是皇帝是舟,百姓是水,水能载舟,亦能覆舟。

这番话,着实有些吓人,但它道出了真相:君王若不折腾百姓,百姓就能让江山稳固。如果你反过来想,自然恐怖——那些爱折腾的皇帝就是这么想的,于是他们拼了命地抓紧权力,怕有什么不稳定因素。

但是,当你反过来想就会发现,你对水好一点,这水不就不会颠覆舟了吗?这么简单的道理,却总是绕不过弯来。

果然,在李世民的统治下,百姓富足,四方臣服,成就了“贞观之治”的辉煌。他的成功不仅在于取得了国内的人民尊重,还得到了国际社会的尊重和认可。在西域问题上,李世民的开放精神得到了无限的放大,他被西域尊为“天可汗”。

file

瞧瞧,靠着自信与不折腾还能成为“国际领袖”,相比而言汉武帝就很爱折腾,想要当“一代雄主”,但他就只能在边境和游牧民族打得不可开交,苦了国家财政和老百姓。

试想,李世民如果即位后大兴土木、穷兵黩武,把百姓折腾得苦不堪言,唐朝还会有后来的盛世吗?

你不折腾老百姓,老百姓自然就会把经济搞好。如果总想着怎么把老百姓严管一下、控制住,怎么去指挥老百姓干这个那个,要求文武百官都被严管起来免得“害朕”,就像李世民说的,这水就会跟你这艘舟逆反起来。

所以纵观历史,凡是好时代,皆有这个共同特点:不折腾老百姓。

折腾,就是重税而少福利,让百姓钱包干瘪;折腾,就是朝令夕改、忽左忽右,让百姓无所适从;折腾,就是好大喜功,为了个人面子让百姓疲于奔命。

把老百姓当作实现个人野心的工具,这样的皇帝在历史上总是会缔造一些很坏的时代。但在史书上他们还要给自己记载一笔:我是一位具有雄才大略的帝王,值得大家崇拜。

file

崇拜归崇拜,真不想当你那个时代的老百姓。

那什么又是不折腾?

不折腾,便是让百姓安生种田,让商贾自由经商,让法律运转而不是权力运转,让学子静心读书而不是搞思想运动。只有不折腾,国家才会稳固,国运才会昌盛。

所以,历史告诉我们这个浅显而深刻的道理:不折腾老百姓,就是好时代。

唯一的问题是,总有一些皇帝,他们不信这个邪。

解决在 Openvpn 客户端中部署的 Web 服务不可用的问题

遇到这样一个蛋疼的问题,我有一台服务器,上面部署了一个 web 服务,同时我也想把这个服务器作为客户端连入一个 OpenVPN 虚拟网络,并且我希望服务器上的程序能够通过 OpenVPN 的网关来访问外部网络,这主要是为了隐藏服务器的身份。但是在 OpenVPN 连接之后,原有的 Web 服务将无法访问。通过调试分析可以法线,造成这一现象的原因是 Web 服务的响应包也被路由配置路由到 OpenVPN 的 tun0 接口中。这导致响应无法返回给原来的请求服务器。如何解决这个问题呢?

如果你在网络上搜索这类问题你会发现各种文章给出的方案一般都是为 OpenVPN 的配置文件添加 route-nopull 选项来阻止 OpenVPN 设置客户端路由,但是这会导致客户端的对外访问无法通过 VPN 进行。事实上,从 IP 路由的角度来看,如果我的服务器是 A,而某个访问 Web 服务的 IP 是 B,同时 B 也可能是 A 试图访问的外部的目标服务提供者。对传输层路由而言,A 给 B 的 Web 服务响应和 A 主动发往 B 的请求是无法区分的。从这个角度来看,要达成 inbound 和 outbound 流量分别路由似乎是不可能的。

但是其实我们有一个突破点:那就是 Web 服务总是在本机使用固定的端口和请求者通信,我们可以通过端口来区分 inbound 和 outbound 流量。首先我们输入下面的命令:

1
iptables -t mangle -A OUTPUT -p tcp -m multiport --sports 80,443 -j MARK --set-mark 1

在这个命令中,我们会让路由表观察从本地的 80 和 443 端口发出的包,并给这些包打上一个特定的标签(--set-mark 1 的作用)。然后输入下面的命令:

1
ip route add default via [gateway addr of eth0] dev eth0 table 100

这个命令会创建一个新的路由表 table 100,然后在这个表中加入一个默认路由,将流量送往原有的网关。然后再运行下面的命令:

1
ip rule add fwmark 1 table 100

这个命令会让带有标记 1 的包使用 table 100 路由表进行路由。运行完上面的配置后,web 服务就可以正常访问呢了。


以上方法是在 ChatGPT 的协助下摸索出来的,我的提问是:

如何通过 iptables 或者 route 命令,让访问 80 与 443 端口的包使用 tun0 接口,而访问其他端口的包使用 eth0 接口?

GPT 的回答是

可以使用iptables和route命令结合起来实现此目的。具体操作如下:

首先需要添加一条规则,将访问80和443端口的包标记为一个特定的标记值(比如"1"),使用tun0接口发送出去。iptables规则如下:

1
iptables -t mangle -A OUTPUT -p tcp -m multiport --dports 80,443 -j MARK --set-mark 1

接着需要添加一条规则,将标记为"1"的包使用tun0接口发送出去。route命令如下:

1
2
ip route add default dev tun0 table 100
ip rule add fwmark 1 table 100

最后需要添加一条规则,将所有未被标记的包使用eth0接口发送出去。route命令如下:

1
ip route add default dev eth0

以上三个步骤分别实现了:将访问80和443端口的包标记,并使用tun0接口发送出去;将标记为"1"的包使用tun0接口发送出去;将所有未被标记的包使用eth0接口发送出去。这样就实现了访问80和443端口的包使用tun0接口,访问其他端口的包使用eth0接口的效果。

❌