Linux网络管理

本文详细介绍了Linux系统中使用nmcli进行网络连接配置、IP地址管理,SSH登录与密钥认证,防火墙规则设置,DNS服务配置,Apache和MariaDB服务器管理等IT技术,涵盖了网络配置、安全和基础服务部署的关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本命令

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值