1、查看IP地址

输入以下命令即可查看Linux系统当前的IP:

ifconfig
ip addr

2、设置静态IP

(1)进入配置文件进行修改;

vi /etc/sysconfig/network-scripts/ifctg-eth0
  • 注意:这里不一定是eth0,一般是如图第一个;

(2)修改配置;

BOOTPROTO=dhcp修改为static(设置为静态IP
ONBOOT=yes (启动网卡)
新增IPADDR  请设置个没有在用的内网IP(设置前请ping该IP看是否冲突
新增NETMASK=子网掩码,一般是255.255.255.0
新增DNS1以及DNS2,一般是8.8.8.8以及114.114.114.114,请咨询您的网络工程师进行设置;
新增GATEWAY一般是1XX.XXX.XXX.1254

(3)保存退出该配置后重启网卡

systemctl restart network

3、查询当前主机是否能连通目标主机端口

这里以测试当前主机是否能连通192.168.22.22的8326端口为例:

telnet 192.168.22.22 8326
nmap 192.168.22.22 -p 8326

如果没有安装telnet或nmap,可以用以下命令:

ssh -v -p 8326 root@192.168.22.22

4、查看DNS配置

(1)查看DNS配置:

cat /etc/resolv.conf

(2)检查网络是否能ping通外网域名,如果无法ping通,一般为DNS设置问题,例如:

ping yun.cloudbility.com

(3)修改DNS等网络配置后需要重启网卡:

systemctl restart network

5、系统相关服务版本查询

问题解答:

(1)查看系统版本:cat /etc/system-release 或 cat /etc/redhat-release

(2)OpenSSL版本查询:openssl version

6、系统相关服务日志路径

问题解答:

(1)系统日志路径:/var/log/messages

7、CentOS7时间查询与设置

行云管家使用过程中,许多功能是基于时间验证的,所以请确保安装行云管家的门户服务器、Proxy宿主机以及用户自己客户端电脑时间正确,在时间不对时可能导致以下这类问题:

  • (a)远程Web会话后无法进行文件传输;

  • (b)OTP双因子认证提示动态口令错误;

  • (c)导入公有云主机时提示时间戳不对;

问题解答:

(1)查询时间时区命令:timedatectl

(2)如果开启了NTP时间同步,但同步的时间不准确,建议禁用NTP时间同步:timedatectl set-ntp false

(3)建议改为亚洲时区:timedatectl set-timezone "Asia/Shanghai"

(4)时间设置:timedatectl set-time '2015-11-20 16:10:40'

硬件时钟设置为本地时区:timedatectl set-local-rtc 1

将系统时间同步到BIOS(时间设置后需要执行这步):hwclock -w

(5)如果是对安装行云管家的门户服务器修改时间,修改完成后请重启行云管家门户服务/opt/cloudbility/bin/restart.sh

8、SSH反空闲设置

方法一:

(1)修改/etc/profile配置文件vi /etc/profile

(2)增加或修改TMOUT=3600

(3)使配置生效. /etc/profile

(4)这样60分钟没操作才会自动登出;

方法二:

(1)配置服务器vi /etc/ssh/sshd_config

(2)找到ClientAliveInterval参数,如果没有就自己加一行,数值单位是秒,比如你设置为3600,则是60分钟;

(3)而``ClientAliveCountMax```这个参数是指如果发现客户端没有相应,则判断一次超时,这个参数设置允许超时的次数;

(4)修改两项参数后如下:

ClientAliveInterval 3600

ClientAliveCountMax 10

(5)重新加载sshd服务。执行service sshd reload

方法三:

(1)找到所在用户的.ssh目录,如root用户该目录在:

/root/.ssh/

(2)在该目录创建config文件vi /root/.ssh/config

(3)加入下面一句:

ServerAliveInterval 3600

保存退出,重新开启root用户的shell,则再SSH远程服务器的时候,不会因为长时间操作断开。应该是加入这句之后,SSH客户端会每隔一段时间自动与ssh服务器通信一次,所以长时间操作不会断开。

方法四:

(1)利用expect 模拟键盘动作,在闲置时间之内模拟地给个键盘响应,将下列代码保存为xxx,然后用expect执行

1
2
3
4
5
6
#!/usr/bin/expect  
set timeout 60  
spawn ssh user@host   
interact {          
   timeout 300 {send "\x20"}  
} 

(2)expect xxx

(3)接着按提示输入密码就可以了,这样每隔300秒就会自动打一个空格(\x20),具体的时间间隔可以根据具体情况设置。

9、创建SWAP分区

通过free -m可以查看是否有SWAP分区,创建SWAP分区方式如下:

mkdir /data
dd if=/dev/zero of=/data/swap bs=512 count=8388616
mkswap /data/swap
sed -e 's/^vm.swappiness\ =.*$/vm.swappiness = 30/g' -i /etc/sysctl.conf
sysctl -p
swapon /data/swap
echo "/data/swap swap swap defaults 0 0" >> /etc/fstab

10、关闭UseDNS和GSSAPIAuthentication

Linux优化时,为什么要关闭UseDNS和GSSAPIAuthentication来加速SSH登录?

问题解答:

(1)首先要理解 UseDNS和GSSAPIAuthentication是什么?

经常登陆SSH的朋友可以感觉出,每次登录SSH时总是要停顿等待一下才能连接上,这是因为OpenSSH服务器有一个DNS查找选项UseDNS默认情况下是打开的。

UseDNS 选项打开状态下,当客户端试图登录SSH服务器时,服务器端先根据客户端的IP地址进行DNS,PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,打开这个选项不过是在白白浪费时间而已,不如将其关闭。

GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5的通用网络安全系统接口。该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。但该接口在目标机器无域名解析时会有问题

(2)关闭UseDNS和GSSAPIAuthentication加速SSH登录

编辑配置文件 /etc/ssh/sshd_config

vi /etc/ssh/sshd_config

找到 UseDNS选项,把#UseDNS yes这一行删除掉,新增UseDNS no

找到 GSSAPIAuthentication选项,把#GSSAPIAuthentication yes这一行删除掉,新增GSSAPIAuthentication no

保存后退出文件配置

(3)重启 OpenSSH服务器

/etc/init.d/sshd restart

11、如何修改linux最大文件限制数ulimit

查询当前终端的文件句柄数: ulimit -n

(1)修改当前交互终端的ulimit值

输入命令ulimit -n 65535,此时系统的文件句柄数为65535。

(2)将ulimit 值添加到/etc/profile文件中(适用于有root权限登录的系统)

为了每次系统重新启动时,都可以获取更大的ulimit值,执行下述命令将ulimit 加入到/etc/profile 文件底部,并加载修改后的profile。

echo ulimit -n 65535 >>/etc/profile
source /etc/profile
ulimit -n

(3)非root权限登录的请继续做以下操作

由于服务器的root用户权限很大,一般是不能用来登录的,都是通过自己本人的登录权限进行登录,并通过sudo方式切换到root用户下进行工作。用户登录的时候执行sh脚本的顺序如下,此时ulimit -n的脚本命令加载在第二部分,用户登录时由于权限原因在第二步还不能完成ulimit的修改,所以ulimit的值可能还是系统默认的1024。

/etc/profile.d/file
/etc/profile
/etc/bashrc
/mingjie/.bashrc
/mingjie/.bash_profile

通过修改linux的软硬件限制文件/etc/security/limits.conf,使ulimit的最大文件打开数最终生效;

在文件尾部添加如下代码(* 代表针对所有用户,noproc 是代表最大进程数,nofile 是代表最大文件打开数):

* soft nofile 65535
* hard nofile 65535

12、如何修改linux最大进程数

有些应用服务使用了大量的线程,导致可能出现java.lang.OutOfMemoryError: unable to create new native thread等异常报错,在linux层面,可以修改linux最大进程数;

问题解答:

(1)查询最大进程数:sysctl kernel.pid_max

(2)查看当前进程数:ps -eLf | wc -l

(3)修改最大进程数为1000000并永久生效:

echo 1000000 > /proc/sys/kernel/pid_max
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p