1. 程式人生 > 實用技巧 >第三十章 系統優化,網絡卡命名規則,安裝雙網絡卡

第三十章 系統優化,網絡卡命名規則,安裝雙網絡卡

 

系統優化

1.更新yum源,將其下載的路徑變為國內

1. 更新yum源,將其下載的路徑變為國內

[root@lxy ~]# ll /etc/yum.repos.d/
total 56
-rw-r--r--. 1 root root 1664 Nov 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1050 Sep 18 07:25 epel.repo

1、備份
[root@lxy ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下載新的CentOS-Base.repo 到/etc/yum.repos.d/
[root@lxy ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.新增epel源
[root@lxy ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.關閉selinux
2. 關閉selinux

[root@lxy ~]# getenforce #顯示selinux狀態
Enforcing
[root@lxy ~]# setenforce 0 #臨時關閉selinux
[root@lxy ~]# getenforce
Permissive
[root@lxy ~]# grep 'SELINUX' /etc/sysconfig/selinux
# SELINUX= can take one of these three values:
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
SELINUXTYPE=targeted
[root@lxy ~]# sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/sysconfig/selinux #永久修改

[root@lxy ~]# sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config #永久修改 ***
[root@lxy ~]# grep 'SELINUX' /etc/selinux/config
# SELINUX= can take one of these three values:
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
SELINUXTYPE=targeted
3.關閉防火牆
3. 關閉firewalld
#臨時關閉
[root@lxy ~]# systemctl stop firewalld

#永久關閉
[root@lxy ~]# systemctl disable firewalld
4.同步系統時間
4. 同步系統時間 

[root@lxy ~]# yum install -y ntpdate

[root@lxy ~]# crontab -l
#同步系統時間
*/3 * * * * /usr/sbin/ntpdate ntp.aliyun.com &>/dev/null
5.關閉NetworkManager
5. 關閉NetworkManager
在CentOS系統上,目前有NetworkManager和network兩種網路管理工具。如果兩種都配置會引起衝突,而且NetworkManager在網路斷開的時候,會清理路由,如果一些自定義的路由,沒有加入到NetworkManager的配置檔案中,路由就被清理掉,網路連線後需要自定義新增上去。

NetworkManager:這個服務由幾個部分組成;一個是管理系統網路連線;一個是允許使用者管理網路連線的客戶端程式,使用它可以更好的管理網路
#臨時關閉
[root@lxy ~]# systemctl stop NetworkManager

#永久關閉
[root@lxy ~]# systemctl disable NetworkManager

[root@lxy ~]# nmtui #必須NetworkManager啟動才能使用圖形化管理網絡卡配置檔案
6.加大檔案描述符數量
6. 加大檔案描述符數量 
[root@lxy ~]# vi /etc/security/limits.conf
<domain> <type> <item> <value>
限制的使用者 限制類型 限制資源 限制的值

* - nofile 65535

#加大檔案描述符
[root@lxy ~]# echo '* - nofile 65535' >> /etc/security/limits.conf
#檢查結果
[root@lxy ~]# tail -1 /etc/security/limits.conf
* - nofile 65535

[root@lxy ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3805
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3805
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@lxy ~]# ulimit -n
65535
7.SSH服務
7. SSH服務

#禁止DNS反向解析
[root@lxy ~]# grep 'UseDNS' /etc/ssh/sshd_config
#UseDNS yes
[root@lxy ~]# sed -i 's#^\#UseDNS.*#UseDNS no#g' /etc/ssh/sshd_config
[root@lxy ~]# grep 'UseDNS' /etc/ssh/sshd_config
UseDNS no

#禁止GSS認證,優化連線速度
[root@lxy ~]# grep 'GSSAPIA' /etc/ssh/sshd_config
GSSAPIAuthentication yes
[root@lxy ~]# sed -i 's#^GSSAPIA.*#GSSAPIAuthentication no#g' /etc/ssh/sshd_config
[root@lxy ~]# grep 'GSSAPIA' /etc/ssh/sshd_config
GSSAPIAuthentication no

#重啟生效
[root@lxy ~]# systemctl restart sshd
8.核心優化
8. 核心優化

cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
EOF

[root@lxy ~]# sysctl -p #生效
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
9.別名及環境變數優化
9. 別名及環境變數優化

cat>>/etc/profile.d/color.sh<<"EOF"
alias ll='ls -l --color=auto --time-style=long-iso'
PS1="\[\e[37;40m\][\[\e[32;1m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\[\e[32;1m\]\\$ \[\e[0m\]"
export HISTTIMEFORMAT='%F-%T '
EOF
#生效
[root@lxy ~]# source /etc/profile
10. 安裝一些常用軟體
10. 安裝一些常用軟體

[root@lxy ~]# yum -y install tree nmap sysstat lrzsz telnet bash-completion bash-completion-extras vim lsof net-tools rsync ntpdate nfs-utils
11.修改主機名和IP地址的指令碼
11. 修改主機名和ip地址的指令碼

[root@lxy ~]#cat>/root/hostname_ip.sh<<"EOF"
#!/usr/bin/sh
source /etc/init.d/functions
if [ $# -ne 2 ];then
echo "/bin/sh $0 New hostname New IP address"
exit 1
fi
hostnamectl set-hostname $1
if [ $? -eq 0 ];then
action "hostname update Successfull." /bin/true
else
action "hostname update Failed." /bin/false
fi
sed -ri "/^IPA/s#(.*\.).*#\1$2#g" /etc/sysconfig/network-scripts/ifcfg-eth[01]
if [ $? -eq 0 ];then
action "IP update Successfull." /bin/true
systemctl restart network
else
action "IP update Failed!" /bin/false
fi
bash
EOF
12.系統安全優化總結
12. 系統安全優化總結

1)禁止root使用者遠端連線,不用root登入管理系統,而以普通使用者登入通過sudo授權管理。
2)更改預設的遠端連線SSH服務埠,甚至要更改SSH服務只監聽內網IP。
3)定時自動更新伺服器的時間,使其和網際網路時間同步。
4)配置yum更新源,從國內更新源下載安裝軟體包。
5)關閉SELinux及Firewalld(在工作場景中,如果有外部IP一般要開啟Firewalld,高併發高流量的伺服器可能無法開啟)。
6)調整檔案描述符的數量,程序及檔案的開啟都會消耗檔案描述符數量。
7)定時自動清理郵件臨時目錄垃圾檔案,防止磁碟的inodes數被小檔案佔滿。
8)Linux核心引數優化。
9)更改系統字符集為"zh_CN.UTF-8",使其支援中文,防止出現亂碼問題。
10)鎖定關鍵系統檔案如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow,處理以上內容後把chattr、lsattr改名,轉移走,這樣就安全多了。
11)清空/etc/issue、/etc/issue.net,去除系統及核心版本登入前的螢幕顯示。
[root@lxy ~]# cat /etc/motd #登入之後顯示的
12)清除多餘的系統虛擬使用者賬號
13)為grub引導選單加密碼。
14)禁止主機被ping。echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
15)打補丁並升級有已知漏洞的軟體。

網絡卡命名規則



centos-7 兩種命令規則

biosdevname

net.ifnames

如果都沒有這兩種規則,使用傳統命名方式: eth0 eth1

biosdevname == 0 不啟用

net.ifnames == 0 不啟用

centos-7中

biosdevname == 0 net.ifnames == 1

安裝系統的時候 net.ifnames=0


命令列設定:網絡卡命名規則

#修改網絡卡配置檔名稱
[root@llll ~]# mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0

#修改網絡卡配置中網絡卡名及裝置名
[root@llll ~]# sed -i 's#ens33#eth0#g' /etc/sysconfig/network-scripts/ifcfg-eth0
[root@llll ~]# grep 'eth0' /etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0

#修改grub中的核心引數
[root@llll ~]# cat /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb net.ifnames=0 quiet"
GRUB_DISABLE_RECOVERY="true"

#將其更改好的引數載入到引導目錄中grub配置檔案
[root@llll ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-957.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-27d18c65315c4bb28b9b0317455eaa91
Found initrd image: /boot/initramfs-0-rescue-27d18c65315c4bb28b9b0317455eaa91.img
done

#重啟
[root@llll ~]# reboot

安裝雙網絡卡


1.虛擬機器新增網絡卡

#命令列生成網絡卡
[root@lxy ~]# ifconfig eth1 172.16.1.150/24 up
[root@lxy ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:02:93:87 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.150/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe02:9387/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:02:93:91 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.150/24 brd 172.16.1.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe02:9391/64 scope link
valid_lft forever preferred_lft forever

#配置eth1的配置檔案
[root@lxy ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1

#修改配置檔案
[root@lxy ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.150
PREFIX=24
IPV6_PRIVACY=no

#重啟網路服務
[root@lxy ~]# systemctl restart network
[root@lxy ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:02:93:87 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.150/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe02:9387/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:02:93:91 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.150/24 brd 172.16.1.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe02:9391/64 scope link
valid_lft forever preferred_lft forever
[root@lxy ~]# ll /etc/sysconfig/network-scripts/ifcfg-eth*
-rw-r--r--. 1 root root 312 Jan 9 12:24 /etc/sysconfig/network-scripts/ifcfg-eth0
-rw-r--r--. 1 root root 282 Jan 9 14:59 /etc/sysconfig/network-scripts/ifcfg-eth1