Centos 7 配置记录
因为一些原因新装了几台CentOS7的VPS,把安装过程记录一下备查。
安装新内核
添加elrepo源后,通过源安装
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y
修改启动内核
CentOS 7 默认使用了Grub 2,这个原来直接修改menu.lst文件不太一样,查看当前启动菜单和查看当前启动内核可以分别用下列命令
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
grub2-editenv list
显示如下
[root@localhost etc]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux 7 Rescue 6bffded1054b4477ba68dcb8d2eb719d (4.11.6-1.el7.elrepo.x86_64)
1 : CentOS Linux (4.11.6-1.el7.elrepo.x86_64) 7 (Core)
2 : CentOS Linux 7 Rescue 68270a9645584c1db16653929cadafc4 (3.10.0-514.21.1.el7.x86_64)
3 : CentOS Linux (3.10.0-514.21.1.el7.x86_64) 7 (Core)
4 : CentOS Linux (3.10.0-123.4.2.el7.x86_64) 7 (Core)
5 : CentOS Linux, with Linux 3.10.0-123.el7.x86_64
6 : CentOS Linux, with Linux 0-rescue-11264912be38456483e63dfd21d402f4
[root@localhost etc]# grub2-editenv list
saved_entry=CentOS Linux (3.10.0-514.21.1.el7.x86_64) 7 (Core)
[root@localhost etc]#
默认启动项一般是saved,指的是上次选中的内核,这里可以通过grub2-set-default来修改,例如修改使用4.11的内核来启动:
[root@localhost etc]# grub2-set-default 1
[root@localhost etc]# grub2-editenv list
saved_entry=1
[root@localhost etc]#
1指的是留意上面 awk 指令输出的第一个项目的编号。
启用BBR
sysctl.conf额外添加下列内容启用BBR
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
我根据情况额外的调整如下,仅供参考
fs.file-max = 51200
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 10240
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_mtu_probing=1
net.ipv4.tcp_fastopen=3
将 firewall 服务替换回 iptables
CentOS 7 默认使用firewall服务来管理iptables,虽然firewall服务有诸多优点,但是为了节约学习成本,我还是决定将iptables的管理服务换回iptables.services。
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
安装iptables.services
yum install -y iptables-services
systemctl start iptables
systemctl enable iptables
iptables的配置文件为/etc/sysconfig/iptables。
修改 SELinux 放行 SSH 端口
因为SELinux默认是打开的,所以需要增加SSH的放行端口。要修改 SELinux 的设置,需要使用 semanage 命令,而系统本身默认没有安装这个管理工具的,需要先安装再修改相应的端口,这里以修改为4869为例。
yum install policycoreutils-python -y
semanage port -a -t ssh_port_t -p tcp 4869
之后运行 semanage port -l | grep ssh 就可以看到刚才添加的端口了。如果修改SELinux设置,在sshd_config修改SSH端口重启SSH服务后会报错“error: Bind to port 4869 on 0.0.0.0 failed: Permission denied.”
安装ocserv
用源安装就比较简单了,配置直接从老版本中copy过来即可,相关证书沿用老系统中的。
yum install ocserv -y
启用rc.local
CentOS 7的自定义启动脚本需要放在/etc/rc.d/rc.local中,并赋予脚本执行权限才可以运行。