基本命令
nmcli ?
agent(代理) device(设备) networking(网络) connection(连接)
nmcli connection ?
add(添加) delete(删除) show(查看系统启动会话) down(关闭连接设备) reload(重启设备) up(设备打开) modify(修改)
查看所有设备ip地址
ip addr
网络配置
nmcli connection add con-name jt1 ifname ens33 type ethernet ipv4.addresses 192.168.1.1/24 ipv4.gateway 192.168.1.254 ipv4.dns 8.8.8.8 ipv4.method manual
nmcli connection add con-name(名字)(jt1) ifname(网卡名字)(ens33) type(网络类型) (ethernet)ipv4.addresses(ipv4地址)(192.168.1.1/24) ipv4.gateway(ipv4网关) (192.168.1.254) ipv4.dns(ipv4dns)(8.8.8.8) ipv4.method(获取类型)(manual手动)
nmcli connection up jt1 ip addr
ipv6添加
nmcli connection modify jt1 ipv6.addresses 123:abc::1/96 ipv6.method manual nmcli connection down jt1 nmcli connection up jt1 ip a ping6 123:abc::20 -c 3
追加地址
nmcli c modify jt1 +ipv4.addresses 192.168.2.1/24
修改配置文件
vim
通过该命令,查看到当前系统的IP地址为192.168.1.10/24,设置成功。如果要看详细的网络信息,可通过nmcli connection show static命令查看。另外,我们还可以查看对应的网卡配置文件/etc/sysconfig/network-scripts/ifcfg-static,该文件内容中常用字段解释如下:
TYPE=Ethernet #网络类型为以太网,对应nmcli命令选项type BOOTPROTO=none #网络地址类型为静态配置,对应选项为ipv4.method manual,若为自动获取,BOOTPROTO的值为dhcp DNS1=119.6.6.6 #DNS服务器地址,对应选项为ipv4.dns NAME=static #连接名为static, 对应选项con-name DEVICE=ens33 #网卡设备为ens33,对应选项ifname ONBOOT=yes #是否自动加载,对应选项为connection.autoconnect,参数为yes/no IPADDR=192.168.1.10 #IP地址,对应选项ipv4.addresses(或ip4) PREFIX=24 #网络前缀,对应选项ipv4.addresses(或ip4) GATEWAY=192.168.1.254 #网关地址,对应选项ipv4.gateway(或gw4)
使用ssh登录远程服务器
ssh 用户@地址/主机名 ssh root@192.168.1.2 yes password
使用密匙登录(不用密码登陆)
ssh-keygen(一直按回车) cd .ssh(进入.ssh目录) ssh-copy-id root@192.168.1.2(把自己生成的公钥传送给服务器) ssh root@192.168.1.2(登录远程服务器)
远程拷贝文件
scp text.txt root@192.168.1.2:/tmp(远程把text文件复制到服务器的/tmp文件里面) rm -f text.txt(删除文件) scp root.tar.gz root@192.168.1.2:/tmp(备份文件) scp root@192.168.1.2:/tmp/root.tar.gz /tmp(备份恢复) ls cd /tmp tar xzvf root.tar.gz ls cd root/ cp -rf * /root
防火墙基本命令
firewall-config 查看防火墙的图形化命令 systemctl status firewalld.Service 查看防火墙状态 systemctl firewalld start 启动防火墙服务 systemctl firewalld stop 关闭防火墙服务 systemctl disable firewalld 禁止开机自启 systemctl enable firewalld 允许开机自启 firewall-cmd --reload #重启防火墙 firewall-cmd --list-all 查看firewall的配置信息 firewall-cmd --add-service=服务名称 放行开放服务通过 firewall-cmd --remove-service=服务名称 阻止服务数据通过 firewall-cmd --add-port=端口/传输层协议 开放端口 firewall-cmd --remove-port=端口/传输层协议 关闭端口 firewall --list-all --zone=xxx 查看某个端口的协议
示例如下:
systemctl status firewalld.Service #查看防火墙状态 systemctl stop firewalld #关闭防火墙 systemctl enabled\disable firewalld #开机启动\禁用防火墙 firewall-cmd --reload #重启防火墙 firewall-cmd --get-default-zone #查看当前的默认区域 firewall-cmd --set-default-zone=public #设置默认区域 firewall-cmd --add-service=服务名 --zone=public --permanent 给区域添加服务器
给区域添加服务器
firewall-cmd --add-service=ftp --zone=public --permanment 开启public的ftp服务 firewall-cmd --add-service=dns --zone=public --permanment 开启public的dns服务 firewall-cmd --remove-service=ssh --zone=work --permanent 关闭work区域的ssh服务 firewall-cmd --remove-service=服务名 --zone=public #删除区域服务,即阻断该服务
区域添加端口
firewall-cmd --permanent --add-port=23456/tcp 打开默认区域的23456端口 firewall-cmd --permanent --add-port=12345/tcp --zone=work 打开work区域的12345端口
添加网段
firewall-cmd --pe --add-soure=192.168.1.0/24 --zone=work 将192.168.1.0/24绑定到work firewall-cmd --pe --add-soure=192.168.2.0/24 --zone=public
更改用户文件权限
chcon -t admin_home_t file.txt
semanage
semanage fcontext -{a|d|m} [-frst] file_spec更改文件 semanage port -l|grep http更改端口 /tmp (/.*)?所有文件包括子文件 semanage fcontext -a -t etc_t "/tmp/test(/.*)?"批量更改 restorecon -vRF强制生效 semanage port -l | grep ssh
修改ssh默认端口
[root@server ~]# vim /etc/ssh/sshd_config [root@server ~]# firewall-cmd --permanent --add-port=52222/tcp success #在防火墙默认区域中开启52222端口 [root@server ~]# firewall-cmd --reload #重新加载防火墙,让刚刚的配置生效 [root@server ~]# semanage port -l | grep ssh ssh_port_t tcp 22 #查看SSH相关的安全上下文,-l表示列表 [root@server ~]# semanage port -a -t ssh_port_t -p tcp 52222 # 将52222添加到相应安全上下文策略中。semanage命令用于设置对象的安全上下文,port表示对象为端口,-a表示添加,-t表示类型(后面跟安全上下文),-p表示传输层协议 [root@server ~]# semanage port -l | grep ssh ssh_port_t tcp 52222, 22 #再次查看是否添加成功 [root@server ~]# systemctl restart sshd #重启服务,让修改立即生效
登录ssh
ssh -p 52222 user1@192.168.1.10
部署仓库
cd /etc/yum.repos.d/ ls rm -rf * ls mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom cd ~ vim /etc/fstab 添加dev/cdrom /mnt/cdrom iso9660 defaults 0 0 cd /etc/yum.repos.d/ yum-config-manager --add-repo=file:///mnt/cdrom vim mnt_cdrom.repo 添加gpgcheck=0 yum list
安装时间服务
yum install ntp.x86_64 -y vim /etc/ntp.conf 注释掉server的全部和 # restrict default nomodify notrap nopeer noquery server 127.127.1.1 systemctl restart ntpd systemctl enable ntpd firewall-cmd --pe --add-service=ntp firewall-cmd --rel ntpq -p
nfs
rpm -qa | grep ntp //查看有没有安装软件 yum install nfs //安装nfs软件 mkdir nfs1 //创建nfs1目录 cd nfs1 //进入nfs1目录 touch f{1..5} //创建5个文件 vim /etc/exports //修改exports配置文件 nfs1 *(rw) //让nfs1文件所有人可以读写 exportfs -r //重新挂载NFS共享的文件 ststemctl start nfs-server //启动nfs服务 ststemctl enable nfs-server //开机启动nfsfuw firewall-cmd --pe --add-service=nfs //设置防火墙开启nfs firewall-cmd --pe --add-service=rpc-bind //开启rpc服务 firewall-cmd --reload //重启防火墙 showmount -e 127.0.0.1 //查看共享的文件 后面跟服务器ip firewall-cmd --pe --add-service=mountd //然客户端可以访问共享文件 firewall-cmd --reload //重启防火墙 chmod 777 nfs1 //给客户端权限 vim /etc/exports //修改exports配置文件 nfs1 *(rw,no_root_squash) //让nfs1文件所有人拥有服务器root权限可以读写 在客户端 showmount -e 192.168.1.2 //查看共享的文件 mkdir /mnt/nfs1 //创建nfs1目录 mount -t nfs 192.168.1.2:/nfs1 /mnt/nfs1 //挂载nfs1文件目录 cd /mnt/nfs1 //进入nfs1目录 touch f6 //创建f6文件
DNS
yum install bind.x86_64 -y //安装bind软件
systemctl restart named
systemctl enable named
vim /etc/named.conf
(options {
listen-on port 53 { 127.0.0.1; any; };
allow-query { localhost; any; };)
vim /etc/named.rfc1912.zones
firewall-cmd --pe --add-service=dns
firewall-cmd --pe --add-port=53/tcp
firewall-cmd --pe --add-port=53/udp
firewall-cmd --rel
systemctl status named.service
nmcli connection modify jt1 ipv4.dns 192.168.1.1
nmcli connection down jt1
nmcli connection up jt1
vim /etc/named.conf
vim /etc/named.rfc1912.zones
cd /var/named/
ls
cp -a named.localhost scitc.zx
vim scitc.zx
cp -a scitc.zx scitc.fx
vim scitc.fx
vim scitc.zx
systemctl restart named
vim /etc/resolv.conf
cp -a named.localhost scitc.zx
nslookup
vim /etc/hosts
Apache
yum install httpd -y systemctl start httpd.service systemctl enable httpd.service firewall-cmd --permanent --add-service=http firewall-cmd --reload DNS步骤 cd /var/named vim abc.zx systemctl restart named vim /etc/resolv.conf nslookup 虚拟主机步骤 cd /etc/httpd/conf.d vim wwwabc.conf 添加: <VirtualHost *:80>//端口 ServerName www.abc.com #域名 DocumentRoot "/jw3/abc/www" #网页根目录 </VirtualHost> <Directory "/jw3/abc/www"> #设置主目录的访问权限 Require all granted #允许访问 </Directory> mkdir -p /jw3/abc/www 创建网页目录 cd /jw3/abc/www echo this is www > index.html ls -Z /var/www/html/ semanage fcontext -a -t httpd_sys_content_t '/jw3(/.*)?' restorecon -vRF /jw3 firewall-cmd --add-service=http systemctl restart httpd 更改端口 vim xsxt.conf Listen 18080 #监听18080端口 <VirtualHost *:18080> #创建虚拟主机,端口使用18080 ServerName xs.scitc.com #设置虚拟主机域名 DocumentRoot /web/xsxt #设置虚拟主机的主目录 </VirtualHost> <Directory /web/xsxt> #设置主目录的访问权限 Require all granted #允许所有访问 </Directory> firewall-cmd --pe --add-port=18080/tcp #防火墙上放行18080端口。 firewall-cmd --reload semanage port -a -t http_port_t -p tcp 18080 #设置18080端口的安全上下文 虚拟目录 在已经发布的虚拟主机配置文件中直接添加虚拟目录字段即可。 <Directory /web/cw/cwxt> #增加虚拟目录 Order Deny,Allow #设置访问控制 Deny from all Allow from scitc.com #只允许scitc.com域里的主机访问,此处也可以用IP地址192.168.1.0/24 </Directory> systemctl restart httpd
MariaDB服务器
yum -y install mariadb-server systemctl start|stop|restart|reload|status mariadb.service #MariaDB服务的启动、停止、重启、重新加载和状态查询的命令 systemctl enable|disable mariadb.service #设置开机自动启动或不启动MariaDB服务的命令 [root@dyzx ~]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! …… Enter current password for root (enter for none): //首次运行时root用户密码为空,直接回车 …… Set root password? [Y/n] y //是否设置root用户密码,输入y并回车或直接回车 New password: //设置root用户的密码 Re-enter new password: //再输入一次设置的密码 Remove anonymous users? [Y/n] y //是否删除匿名用户,生产环境建议删除,直接回车 Disallow root login remotely? [Y/n]y //是否禁止root远程登录,根据需求选择Y/n并回车 Remove test database and access to it? [Y/n]y //是否删除test数据库,直接回车 Reload privilege tables now? [Y/n]y //是否重新加载权限表,直接回车 mysqladmin -u 用户名 [-h 服务器主机名] [-p]password #应定期修改其密码,其命令 vim /etc/my.cnf [mysqld] ………… //省略若干行 skip-networking=0 //值为0时,支持本地和远程登录; 值为1时,仅允许本地登录 bind-addrecss=192.168.1.1 //侦听的网络接口 #配置MariaDB的登录方式及侦听的网络接口 mysql [-h 主机名] -u 用户名 -p[用户密码] #MariaDB的登录 create database student; use student; create table course (id char(8) not null default '20170000',primary key (id), name char(8) not null); describe course; //显示当前连接的student库中course表结构的信息 ]> insert into student.course (id,name) values('20170264', ‘zhang'); select * from student.course; create user 用户名@来源地址 identified by [password] ‘密码’; #创建数据库用户的命令 create user user1@localhost identified by "abc"; //创建用户 grant 权限列表 on 数据库名.表名 to 用户名@来源地址; grant select on student.* to user1@localhost; //授权用户 flush privileges//刷新权限 mysql -h localhost -u user1 -p//验证登录操作 revoke 权限列表 on 数据库名.表名 from 用户名@域名或IP地址#撤销数据库用户的权限 revoke select on student.* from user1@'localhost'; flush privileges; mysqldump -u 用户名 -p [密码] [选项] [数据库名] [表名] > /备份路径/备份文件名 常用选项有: --all-databases——备份服务器中的所有数据库内容。 --opt——对备份过程进行优化,此项为默认选项。 --no-data——仅备份数据库结构,不备份数据内容(记录)。 mysqldump -u root -p --opt student > back_student.dump mysql -u root -p [数据库名] < /备份路径/备份文件名#使用mysql命令恢复(导入)数据 mysql -u root -p student < back_student.dump