前言:
关于网络设置,在linux内核配置中也算是一块重要的内容了。不过万幸的是,内核的网络配置基本上与电脑硬件配置无关,只要你是一个linux桌面系统用户,那么我相信你的对网络设置的要求和我是一样的。所以关于内核网络配置,大家尽管以我分享的配置为模板,直接照抄下来。这部分很简单
本文的定位是:为普通的linux桌面系统用户,提供一个能够满足日常使用(上网、办公、游戏)的linux内核网络配置模板,在保留基本网络功能(TCP/IP协议、UDP协议、防火墙)的前提下,尽可能地精简去除其它一切无关不需要的网络协议和功能,从而精简内核。你的linux系统得是运行在实体机上面的。
如果你是打算在VPS上搭建一个服务器,或是在家里组建一个路由器,或者你的linux系统是跑在虚拟机里的,那么我给的配置模板是不能满足你的要求的。这里的配置仅仅只是保证了最基本的网络功能(TCP、UDP、防火墙),若有其它特殊需求,你可以在我的配置的基础上增加其余的功能。
建议:你可以把所有的网络配置选项全都按Y键直接编译进内核中,以提高内核的性能;而不要编译为模块module。
本文涉及的是内核配置中的“Networking support”这一块内容,在图中用白色标出了——
一、配置总览
二、这才是正题——Networking options
注释:
#关于网络防火墙,我给你的配置既支持nftables,也支持iptables。不过我很建议你用nftables,因为nftables的防火墙规则配置比iptables简单直观多了,而且性能也明显好于iptables。目前iptables已经面临全面淘汰了,nftables将会是它的下一代继任者。所以在这种情况下,你还要死守着iptables不放么?就不愿意学习新的东西么?就是这么抵制新技术、新变革么?只不过是换一套防火墙控制命令,基本原理还是一样,有这么难么?
#关于如何设置nftables防火墙,我在以前的文章《Gentoo安装流程分享(step by step),第二篇之KDE Plasma桌面的安装配置》里已经详细讲述了。
#至于IPsec、IP tunnel这些——咳咳,小伙子啊,我劝你还是要脚踏实地、保持思想上进、追求崇高的理想、热爱祖国、明辨是非,争做新时代的新青年,不要成天想着那些有的没的。所以我就把它们都禁了,免得你误入歧途~~ 要知道——人在做,天在看。
#如果你大多数时间是插着网线(有线网络)上网的,那么可以将“Default TCP congestion control”设为BBR;但如果你大部分时间都是连着wifi(无线网络)上网,那么我建议你将“Default TCP congestion control”设为Cubic。因为目前的Google BBR存在会降低wifi吞吐量的问题,我在用wifi上网时如果开启了BBR能感受到网速明显不如开Cubic时那么快;所以还是等BBR2正式版出了再开启BBR2吧,BBR2对wifi就没有影响了。
#“QoS and/or fair queueing”建议只开FQ_CODEL,它取代了以前的fq调度,目前已被绝大多数发行版设为默认。
#注意不要忘了修改内核参数以支持BBR或Cubic哦——
sudo vim /etc/sysctl.d/99-sysctl.conf: #重启后生效
net.ipv4.tcp_congestion_control = bbr或cubic
后记:
That's all,就这么简单。直接抄就完事了