常用命令
nmcli connection show #显示当前网络连接
systemctl status 服务名 #检测是否开启了某项服务,例:systemctl status sshd
iptables --line -nvxL #查到当前所有规则
ifup eth0 #启用网卡eth0
ifdown eth0 #禁用网卡eth0
tar –cvf jpg.tar *.jpg #将目录里所有jpg文件打包成
tar –xvf file.tar #解压 tar包
hostname #查看当前系统主机名
hostnamectl #查看当前系统名等信息
hostnamectl set-hostname 主机名 #修改主机名,永久生效
netstat -ntlp #查看目前tcp端口 或 用 lsof -i tcp:80 查看具体端口号
例:netstat -apn | grep 8080
通过8080端口查看进程,结果显示LISTEN 17997/unicorn maste,/ 前是进程号,/ 之后是进程名,可以根据进程号,进行一步查看应该信息。ps -ef | grep 17997
netstat -nulp #查看udp端口
一、修改网卡IP地址
1、进入到网卡配置目录
cd /etc/sysconfig/network-scripts/
2、ifconfig查看网卡信息并获取到网卡的名称
若此时ifconfig命令还没有安装,则直接ls,根据文件名推断网卡的名称
3、编辑配置文件 vi ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.1.149
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
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=ens32
UUID=d16fe359-9256-4414-a557-19d751b4fc72
DEVICE=ens32
ONBOOT=yes
加粗的部分是要修改的地方
退出并保存 (按esc,再:wq)
4、重启网卡
systemctl restart network
如果是Centos 8,则需要用以下命令:
nmcli c reload nmcli con up eth0 重启网卡生效
另:多网配置 centos 8为例
1、使用ifconfig,确认网卡名称和状态
2、进入到网卡配置目录
cd /etc/sysconfig/network-scripts/
3、将eth0网站配置文件复制给eth1
cp ifcfg-eth0 ifcfg-eth1
4、查看eth1的UUID,并追加写入到配置文件
uuidgen eth1 >> ifcfg-eth1
5、修改eth1配置文件,修改完成后分别用nmcli con up重启所有网卡
vi ifcfg-eth1
将所有eth0 换成 eth1 将原来的UUID删除,换成刚才追加的UUID 修改IP,只保留一个默认路由和网关
二、用nmcli快捷设置dns
1、nmcli connection show------显示当前网络连接
在显示的device列中查到对应的网卡名 ,例 我的网卡是eth0
2、nmcli con mod eth0 ipv4.dns "114.114.114.114 8.8.8.8"
3、nmcli con up eth0---------使dns配置生效
三、配置防火墙
1、检测并关闭firewall
systemctl status firewalld.service #检测是否开启了firewall
systemctl stop firewalld.service #关闭firewall
systemctl disable firewalld.service #禁止firewall开机自启
2、检测并安装iptables
yum install -y iptables-services #安装iptables
systemctl start iptables.service #开启iptables
systemctl enable iptables.service #允许iptablesl开机自启
3、配置iptables
这里只写常用配置及命令
iptables --line -nvxL #查看当前所有规则
iptables --line -nvxL INPUT #查看INPUT下的所有规则
service iptables save #保存当前规则
------删除
iptables -F INPUT #清除INPUT下的所有规则,只有在初始化的时候才能使用!!!
iptables -D INPUT 2 #删除INPUT中指定序号的规则,本例中是删除第2条,规则的序号可通过加长参数 --line 查看
iptables -Z #清空目前的计数
------添加
参数-A 为在尾部追加
参数-I 为在首部插入
可以在指定序号前插入,更具有实用价值,因为iptables是从第一条开始匹配,先匹配到的立即生效。也就是说序号越小,优先权越高。
iptables -I INPUT 2 -s 192.168.1.102 -p tcp --dport 22 -j ACCEPT #如本例中是在INPUT中的第2条插入一条规则,允许192.168.9.102的IP访问TCP协议的22口
iptables -A INPUT -j DROP #在INPUT最后追加一条对所有包进行DROP的规则
iptables -I INPUT -p tcp --dport 80 -j ACCEPT #无条件开放80端口
iptables -I INPUT 5 -s 192.168.9.102 -p tcp --dport 22 -i eth0 -j ACCEPT#对某一块网卡下规则
***注意长参数,如dport前是二个-,我在复制时会变成一个长--,命令会报错,请手工输入***
总的原则是把匹配高的规则放在前面,提高效率。
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#本条规则为放行ESTABLISHED与RELATED状态的包,也就是本机主动发起的对话,对方机器回应时直接放行。这条规则可用于安装调试时使用,服务器正常使用时建议禁用,用明确路由的规则来代替。
在iptables 规则中IP段直接用 /加网络地址数来表示。如 192.168.1.0/24
四、配置nginx
1、安装nginx
可以编译安装和yum安装,这里推荐使用阿里云yum的EPEL源安装,CentOS7配置阿里云yum源和EPEL源的配置请参加另一篇学习笔记。
yum install -y nginx #安装nginx
systemctl enable nginx #加到开机自启
配置文件位置 /etc/nginx/nginx.conf
负载均衡配置
在http标签中加入
upstream aqtvu{
server 192.168.1.160:80;
server 192.168.1.161:80;}#定义一个别名aqtvu,内容为负载服务器的IP和端口号
在server标签中引用上面的别名
location / {
root /www;
index index.html index.htm;
proxy_pass http://aqtvu; #在此处增加一行引用
}
注意同时要在本机的iptables的INPUT上增加对应的规则,允许前面的服务器数据进入,并保存iptables规则。
nginx -t #测试配置文件
nginx -s reload #重新装载新配置文件
五、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
六、安装配置FTP
安装vsftpd,直接yum 安装就可以了
1、启动Vsftpd服务其命令为: service vsftpd start
2、停止Vsftpd服务的命令为:service vsftpd stop
配置文件位置 /etd/vsftpd/vsftpd.conf
禁用PORT模式,开启PASV模式
port_enable=NO
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
listen_port=2121
这里FTP的端口由默认的21修改为2121,PASV的数据传输端口为30000到30999
然后在防火墙上开启对应的端口就可以了。
------------------------------------------------------------
但这里要注意的是,需要临时在iptables上开对应的规则,否则安装包下载不了。
说明在边界服务器上因为安全原因,服务开的越少越好。nginx从负载均衡走,后期也没有数据上传下载需要。所以这里的上传和下载都从web里走,下载用wget,上传用临时的http服务,开临时端口实现。
七 、重置root密码(以centos7为例)
1、将机器重启,出现引导菜单时,按 e 键进入环境编辑界面;
找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh;【提示:这里显示的时候如果行内容比较长,自动换行时会加上 / 的做为换行符,千万不要将 ro/ 看成了ro 进行修改;根据环境不同,我也遇到没有ro,这里只要在rw内容加在rd前就可以了】,如下图
2、现在按下 Control+x ,使用单用户模式启动
3、访问系统
chroot /sysroot
4、重置密码
passwd root
5、更新信息
touch /.autorelabel
6、退出chroot
exit
7、重启你的系统
reboot
就可以用新密码进入系统了。
八 、升级centos系统
1、检查系统版本
cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
2、备份重要数据(例如/etc, /var,/opt)。如果centos是安装在虚拟机上,那么可以使用快照进行备份。像VMware虚拟机可以快照备份,当然更奢侈一点是备份整个虚拟机。也可以针对重要程序数据进行备份,例如MySQL, Appache, Nginx, DNS等等。
3、运行yum命令升级
sudo yum clean all
sudo yum update
4、重启系统
sudo reboot
5、查看现在系统版本
cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
九、设置时区和较时
1、设置时区
timedatectl 查看时区命令
timedatectl set-timezone Asia/Shanghai 设置时区命令
2、安装ntpdate较时(如果需要自动较时,建议安装ntp服务实现,可参看另一篇文章关于时间ntp服务及较时问题)
yum -y install ntpdate 安装ntpdate
ntpdate ntp1.aliyun.com 向阿里云时间服务器对时
未经允许不得转载:生于七零年代 » centos配置备忘(2022年3月8日更新)