Sunday, December 11, 2016

CentOS升级kernel

一、手动档

手动档就是从源码开始编译内核安装,好处是可以自己选择任意版本的内核,缺点就是耗时长,编译安装消耗系统资源

1.1、获取 kernel 源码

这世界上最伟大的 Linux 内核源码下载地址是 kernel 官网,选择一个稳定版本下载即可

1.2、解压并清理

官方要求将其解压到 /usr/src 目录,其实在哪都可以,为了规范一点索性也解压到此位置,然后为了防止编译残留先做一次清理动作

# 下载内核源码
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.8.6.tar.xz
# 解压并移动到 /usr/src
tar -Jxvf linux-4.8.6.tar.xz
mv linux-4.8.6 /usr/src/kernels
# 执行清理(没 gcc 的要装一下)
cd /usr/src/kernels/linux-4.8.6
make mrproper && make clean

1.3、生成编译配置表

kernel 在编译时需要一个配置文件(.config),用于描述开启哪些特性等,该文件一般可通过一下四种途径获得:

复制当前系统编译配置表,即 cp /boot/config-xxx .config;如果系统有多个内核,那么根据版本号选择最新的即可
使用 make defconfig 命令获取当前系统编译配置表,该命令会自动写入到 .config 中
使用 make localmodconfig 命令开启交互模式,然后根据提示生成编译配置表
使用 make oldconfig 命令根据旧的编译配置表生成新的编译配置表,刚方式会直接读取旧的便已配置表,并在以前没有设定过的配置时会自动开启交互模式
这里采用最后一种方式生成

1.4、编译并安装

内核配置表生成完成后便可进行编译和安装(需要安装 bc、openssl-devel等)

make
make modules
make modules_install
make install

最后执行重启验证即可,验证成功后可删除旧的内核

rpm -qa | grep kernel

二、自动档

相对于手动档编译安装,CentOS 还可以通过使用 elrepo 源的方式直接安装最新稳定版 kernel,脚本如下

# import key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# install elrepo repo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# install kernel
yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y
# modify grub
grub2-set-default 0
# reboot
reboot

Read More »

CentOS开启TCP BBR拥塞控制算法

最新Linux kernel 4.9.0-rc8已支持tcp_bbr,本文以CentOS 7 64bit系统为例,介绍如何升级kernel开启TCP BBR拥塞控制算法。

记得先把/etc/sysctl.conf文件中关于net.ipv4.tcp_congestion_control的配置注释掉。

方法一:

通过deb包在CentOS中安装最新版kernel开启TCP BBR拥塞控制算法,安装脚本如下:

wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

ar x linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

tar -Jxf data.tar.xz

install -m644 boot/vmlinuz-4.9.0-rc8-amd64 /boot/vmlinuz-4.9.0-rc8-amd64

cp -Rav lib/modules/4.9.0-rc8-amd64 /lib/modules/

depmod -a 4.9.0-rc8-amd64

dracut -f -v --hostonly -k '/lib/modules/4.9.0-rc8-amd64'  /boot/initramfs-4.9.0-rc8-amd64.img 4.9.0-rc8-amd64

grub2-mkconfig -o /boot/grub2/grub.cfg

#开启bbr
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

#调整内核启动顺序
grub2-set-default "CentOS Linux (4.9.0-rc8-amd64) 7 (Core)"

grub2-editenv list

grub2-mkconfig -o /boot/grub2/grub.cfg

Read More »

Debian/Ubuntu开启TCP BBR拥塞控制算法

BBR目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 效果并不比速锐差。

最新Linux kernel 4.9.0-rc8已支持tcp_bbr,下面简单讲述如何在Debian/Ubuntu 64bit系统中升级kernel开启TCP BBR拥塞控制算法。

Read More »

2016年12月数码产品推荐

必须说明的是本文推荐的产品都是性价比较高的产品,虽然性能不是最强,但是在同等配置的大品牌产品中价格较低。

说实话,电脑这东西更新换代太快,你永远也追不上潮流,即使现在你花几万买个最好的电脑,用不了2-3年它的性能就会落伍,所以呢,购买电脑的原则是:够用就好。

强烈不推荐非专业用户去买组装电脑,在各种配件上很容易被商家绕进去,钱不少花,东西却不是最好的,而且售后没有保障。买品牌机其实就是买其售后服务,虽然品牌机的显卡和电源都不太好,但胜在稳定,有需求的用户可以再换个显卡和电源。

Read More »

CentOS 7开放防火墙端口

CentOS 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放CentOS 7端口:

开放端口(以80端口为例)

firewall-cmd --zone=public --add-port=80/tcp --permanent

命令含义:

–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–permanent #永久生效,没有此参数重启后失效

重启防火墙

firewall-cmd --reload

详细信息可以参考以下资料:

http://stackoverflow.com/questions/24729024/centos-7-open-firewall-port

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html

Read More »

ECC证书和RSA证书

HTTPS 通过 TLS 层和证书机制提供了内容加密、身份认证和数据完整性三大功能,可以有效防止数据被监听或篡改,还能抵御 MITM(中间人)攻击。TLS 在实施加密过程中,需要用到非对称密钥交换和对称内容加密两大算法。

对称内容加密强度非常高,加解密速度也很快,只是无法安全地生成和保管密钥。在 TLS 协议中,应用数据都是经过对称加密后传输的,传输中所使用的对称密钥,则是在握手阶段通过非对称密钥交换而来。常见的 AES-GCM、ChaCha20-Poly1305,都是对称加密算法。

Read More »

Webmin/Virtualmin申请配置Let’s Encrypt免费SSL/TLS证书

Webmin/Virtualmin支持在一个IP地址多个网站的情况下为每个网站单独配置SSL/TLS证书,而且新版的Webmin/Virtualmin可以非常简单的给网站申请配置Let’s Encrypt免费SSL/TLS证书,教程如下:

申请Let’s Encrypt证书

登录Webmin/Virtualmin,选择想配置SSL/TLS证书的网站如domain.com。

点击“编辑虚拟服务器”,在“已启用功能”中勾选“SSL网站已启用”,然后点击下方的“保存虚拟服务器”。

点击“服务器配置”,进入“管理SSL证书”,点击“Let’s Encrypt”,然后点击下方的“Request Certificate”。

Read More »

服务器架设:安装SoftEtherVPN Server For Linux

SoftEtherVPN是由日本筑波大学(University of Tsukuba)登 大遊 (Daiyu Nobori)在硕士论文中提出的开源、跨平台、多重协议的虚拟专用网方案。

本文以64位CentOS 6/7安装环境为例,讲解如何安装SoftEtherVPN Server For Linux。

第一部分:安装SoftEtherVPN Server

安装编译环境

yum -y install gcc

下载SoftEtherVPN Server For Linux

wget http://jp.softether-download.com/files/softether/v4.20-9608-rtm-2016.04.17-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz

解压文件

tar -zxvf softether-vpnserver-*.tar.gz

进入到解压目录

cd vpnserver

启动安装脚本

./.install.sh

阅读License,根据提示,输入“1”然后回车确认。

如果提示不识别某些命令比如gcc,另行安装即可。如果没有异常则说明安装成功。

启动服务

./vpnserver start

(停止服务命令为:./vpnserver stop)

在CentOS7以后可以用systemd启动vpnserver,先新建启动脚本/etc/systemd/system/vpnserver.service:

[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/root/vpnserver/vpnserver start
ExecStop=/root/vpnserver/vpnserver stop

[Install]
WantedBy=multi-user.target

然后就可以通过systemctl start vpnserver启动了,并通过systemctl enable vpnserver设置开机自启。

启动成功后我们需要设置远程登录密码以便本地管理服务。运行下面的命令进入VPN的命令行:

./vpncmd

选择1. Management of VPN Server or VPN Bridge

这里需要选择地址和端口。默认443端口,如果需要修改,可以输入localhost:5555(实际端口),然后出现:

If connecting to the server by Virtual Hub Admin Mode, please input the Virtual Hub name.
If connecting by server admin mode, please press Enter without inputting anything.
Specify Virtual Hub Name:

Read More »

eMMC、UFS和NVMe

eMMC

eMMC的全称为“embedded Multi Media Card”,中文即:嵌入式的多媒体存储卡。是由MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。

eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,eMMC利用的是它将主控制器、闪存颗粒整合到了一个小的BGA封装内。2015年前所有主流的智能手机和平板电脑都采用这种存储介质,多媒体存储卡在替代紧凑型闪存作为智能手机等移动设备的存储介质之后,就有新版本不断推出,速度也越来越快,eMMC 4.4的读取速度大约为104MB/s、eMMC 4.5则为200MB/s。而在2013年7月29日三星开始量产行业首款eMMC 5.0存储产品,其读取速度为400MB/s,而最新的eMMC 5.1规范来说,其理论带宽为600MB/s左右。

Read More »

iOS设备固件更新教程

通过OTA更新固件

将iOS设备开机,进入“设置”–>“通用”,点击“软件更新”即可。

通过iTunes更新固件

通过iTunes升级固件的过程非常简单,具体教程:
1、用数据线将设备连接上最新版iTunes,紧接着打开iTunes,
2、按住键盘上Shift,同时点击iTunes的“更新”功能;
3、根据iTunes弹出对话窗,选择对应版本的iOS固件,点击更新即可。

通过DFU模式更新固件

如果上述方法更新失败无法开机可进入DFU模式更新,DFU模式更新方法如下:
1、将iPhone连接电脑,然后开启iTunes。
2、同时按下iPhone手机电源和Home键10秒种时间,然后放开电源键并继续按住Home键。
3、随后,iTunes便会弹出一个通知,它表明设备已经成功进入DFU模式。
4、关闭对话框并点击“恢复iPhone”,iTunes会弹出一个确认对话框。点击“下一步”和“同意”之后,固件便会开始被刷入设备当中。

Read More »