本文目的
- 记录真实环境中服务器必须配置;
配置VPN
推荐使用L2TP
或IPSec
方式建立VPN,成熟的标准方案,拥有较好的安全性。
L2TP
:单台管理终端或移动终端;IPSec
:多台固定的管理终端一般在入口路由器上配置IPSec实现互联。
IPMI管理口配置
当前市场上的服务器一般都支持管理口来对服务器进行管理,利用管理口功能,我们可以远程实现系统的开关机、重启、配置更改、安装系统等,基本能使我们不再需要申请进入电信机房来解决各种问题。
配置管理口时需要注意以下问题:
- 管理口配置为
静态IP
- 去掉默认帐户,使用独有的用户名和密码
Ubuntu基本配置
- 更新源和系统软件
1 | 复制代码sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak |
- 网络及DNS配置
Ubuntu 16.04 及之前版本
配置静态IP sudo vim /etc/network/interface
1 | 复制代码# This file describes the network interfaces available on your system |
配置本机hosts sudo vim /etc/hosts
注释这一行:127.0.1.1 ubuntu
修改机器名或添加内网地址,不要让机器名解析为回路地址
配置 DNS 服务器地址 sudo vim /etc/resolvconf/resolv.conf.d/base
添加:nameserver 192.168.1.114
Ubuntu 18.04 采用 netplan
作为网络配置管理,与16.04及之前的版本区别很大
去掉文件 /etc/network/interfaces
中的所有配置
修改配置文件:sudo vim /etc/netplan/50-cloud-init.yaml
:
1 | 复制代码# This file is generated from information provided by |
然后运行命令使配置立即生效:sudo netplan apply
附:如需在本地配置专用 DNS 服务器,可参考 内网配置DHCP+DNS(dnsmasq)
- SSH安全配置
机器只允许内部IP地址SSH进去,只允许指定用户进行SSH,其他用户都不允许SSH
/etc/hosts.allow添加 sshd:192.168.2.,192.168.3.10:allow
/etc/hosts.deny添加 sshd : ALL
/etc/ssh/sshd_config
禁用root登陆,修改:PermitRootLogin no
添加允许登陆的用户:AllowUsers username
username为允许登陆的用户名
hosts.allow, hosts.deny修改后立即生效
sshd_config修改后需要重启ssh服务:sudo service ssh restart
, 重启不会断开当前连接
- Ubuntu开机启动
Ubuntu需要开机启动的命令添加到/etc/rc.local
中
- 配置NTP时间服务器
自动与Ubuntu时间服务器同步,并且本机可以作为时间服务器使用,需要等待几分钟后才可以同步到最新:$ sudo apt-get install ntp
安装之后ntp
自动启动
- 优化内存使用(内存足够时推荐禁用交换分区)
swappiness
值的大小决定如何使用swap分区,系统默认为60
,也就是说,你的内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。
1 | 复制代码cat /proc/sys/vm/swappiness # 查看swapness: |
- 禁用交换分区
命令:swapon -s
查看交换分区
通过命令: swapoff -a
禁用交换分区。将该命令命令添加到”/etc/rc.local”中,开机启动时就禁用交换分区。
要永久禁掉swap分区,打开文件/etc/fstab
注释掉swap那一行
建议:在所有机器上禁用交换分区
- 多网卡bond配置
现在服务器一般都不止一个网口,通过bond将多个网口合并成一个逻辑网口,能够充分利用多个网口的带宽。
bond的七种模式,bond=0~6
mode=0
(balance-rr)(平衡抡循环策略)mode=1
(active-backup)(主-备份策略)mode=2
(balance-xor)(平衡策略)mode=3
(broadcast)(广播策略)mode=4
(802.3ad)(IEEE 802.3ad 动态链接聚合)mode=5
(balance-tlb)(适配器传输负载均衡)mode=6
(balance-alb)(适配器适应性负载均衡)
常用的有三种mode=0
:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1
:自动备援模式,其中一条线若断线,其他线路将会自动备援。mode=6
:平衡负载模式,有自动备援,不必”Switch”支援及设定。
查看是否支持bond: # modinfo bonding |more
(1) Ubuntu 14.04 bond 配置
安装 $ sudo apt-get install ifenslave
修改文件:sudo vim /etc/modules
添加:bonding mode=6 miimon=100
修改文件:sudo vim /etc/network/interfaces
1 | 复制代码# This file describes the network interfaces available on your system |
(2) Ubuntu 16.04配置
与14.04基本相同,唯一的区别在/etc/network/interfaces
首先还是安装:$ sudo apt-get install ifenslave
修改文件:sudo vim /etc/modules
添加:bonding mode=6 miimon=100
修改文件:sudo vim /etc/network/interfaces
1 | 复制代码# This file describes the network interfaces available on your system |
(3) Ubuntu 18.04配置
Ubuntu 18.04 采用netplan
作为网络配置管理,与16.04及之前的版本区别很大
去掉文件 /etc/network/interfaces
中的所有配置
修改配置文件:sudo vim /etc/netplan/50-cloud-init.yaml
:
1 | 复制代码# This file is generated from information provided by |
然后运行命令使配置立即生效:sudo netplan apply
- keepalived配置虚拟IP
一般服务推荐使用虚拟IP,方便配置备用服务器
安装:sudo apt-get install keepalived
编辑配置文件:sudo vim /etc/keepalived/keepalived.conf
1 | 复制代码vrrp_instance VI_1 { |
其中:priority
表示优先级,高优先级的服务器作为MASTER
,低优先级的作为SLAVE
查看虚拟IP:ip addr
- Ubuntu LVM扩容
- 查看磁盘设备:
ls /dev/sd*
,新添加三块磁盘为例
显示:/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb /dev/sdc /dev/sdd
其中sdb,sdc,sdd为三个新磁盘 - 磁盘上创建物理分区:
fdisk /dev/sdb
p 查看分区表,使用 gpt 分区表(Disklabel type),gpt支持大磁盘
n 创建分区,都使用默认值
t 更改分区类型,使用 Linux LVM
w 保存更改并退出
其他磁盘类似 - 创建物理卷:
pvcreate /dev/sdd1
或pvcreate /dev/sd[b,c,d]1
直接创建所有物理卷 - 将物理卷添加到卷组,使用vgdisplay查看卷组
vgextend host-vg /dev/sdb1
或vgextend host-vg /dev/sdb1 /dev/sdc1 /dev/sdd1
- 对逻辑卷扩容:
lvextend -l +100%FREE /dev/host-vg/root
- 让系统重新识别:
resize2fs /dev/host-vg/root
- Ubuntu挂载U盘
- 插入U盘,之后需要设置挂载点。
- 首先运行命令
fdisk -l
查看磁盘信息,由信息可得其路径“/dev/sdb1”,磁盘格式为fat32. - 运行挂载命令:
mount -t vfat /dev/sdb1 /media
- 运行命令
cd media
进入挂载U盘的主目录。 - 运行
ls
命令可以查看目录下的文件。
添加新磁盘并挂载到指定目录
创建分区 sudo fdisk /dev/sda
格式化 sudo mkfs.ext4 /dev/sda1
挂载到对应目录 sudo mount /dev/sda1 /mnt
- 安装docker
- DaoCloud快速安装docker:get.daocloud.io/#install-do…
- 让
docker
命令不再需要sudo
1 | 复制代码# 添加当前用户到docker组 |
- 解决
docker pull
默认使用https问题
1 | 复制代码# Ubuntu 14.04 |
- 配置本地 docker Hub
1 | 复制代码docker run -d --restart=always --name myDockerHub \ |
- 禁用IPv6
修改 /etc/sysctl.conf
文件,添加:
1 | 复制代码net.ipv6.conf.all.disable_ipv6 = 1 |
然后运行:sudo sysctl -p
,就可以用 ifconfig
或 ip a
命令查看是否没有 IPv6 地址了
- 安装Linux-dash系统监视工具
Linux-dash
是一个低开销 Linux 服务器监控系统,基于 Web 的监控界面。
- 安装apache2:
apt-get install apache2
- 安装php5:
apt-get install php5
- 修改apache2的端口:
vim /etc/apache2/ports.conf
- 下载Linux-dash:
cd /var/www/html/
git clone https://github.com/afaqurk/linux-dash.git
- 重启apache2:
sudo service apache2 restart
- 通过浏览器登陆监视页面:
http://ip:port/linux-dash
附
- 检测网站安全性:SSL Server Test
- LVM逻辑卷管理器配置使用详解
- LVM (简体中文)
- Docker 的安装包以及周边高速镜像
- Bonding documents
- ubuntu18.04 开机启动/停止服务
本文转载自: 掘金