关于-sysctl.conf-这个文件

介绍

系统在启动时会加载 /etc/sysctl.conf 文件以及 /etc/sysctl.d/ 目录下的内核参数设置.

文件内容格式为:

1
2
net.ipv4.ip_forward = 1
vm.swappiness = 10

每一行一个键值对.

sysctl 命令

sysctl 是一个用于在运行时查看和修改内核参数的命令.

基本使用

具体细节查看 man sysctl.

查看所有内核参数

1
sysctl -a
  • -a, --all

查看特定参数的设定值

1
sysctl net.ipv4.ip_forward

修改/设置参数值

1
sudo sysctl -w net.ipv4.ip_forward=1
  • -w, --write

本质上是直接修改内存中的文件.

加载文件中定义的参数值

1
sudo sysctl -p
  • -p[FILE], --load[=FILE]

默认加载 /etc/sysctl.conf 文件.

若修改了 /etc/sysctl.conf 文件, 先立即应用就可以用这个参数.

-p 参数本质是将 /etc/sysctl.conf 的内容和内存中的设置对比, 若有区别才会生效, 若只是注释则不会有用.

常用用于加固策略的内核设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 启用 IP 路由,便于数据包转发
net.ipv4.ip_forward=1

# 启用日志记录异常的 IP 地址的数据包
net.ipv4.conf.all.log_martians=1

# 禁用在所有接口发送 IPv4 ICMP 重定向数据包
net.ipv4.conf.all.send_redirects=0

# 禁用源路由数据包
net.ipv4.conf.all.accept_source_route=0

# 禁用接受 ICMP 重定向
net.ipv4.conf.all.accept_redirects=0

# 禁止对 ping 广播响应
net.ipv4.icmp_echo_ignore_broadcasts=1

# 禁用路由三角网
net.ipv4.conf.all.rp_filter=1

# 打开 SYN 泛滥保护,防止 DOS 攻击
net.ipv4.tcp_syncookies=1

关于-sysctl.conf-这个文件
http://example.com/2024/08/12/关于-sysctl.conf-这个文件/
作者
Jie
发布于
2024年8月12日
许可协议