RHCE 第四周 网络管理

发布时间 2024-01-07 21:07:22作者: q_7

一:了解网络的基础概念

1:ip概念

ip地址:就是计算机在网络中的ip地址,计算机与计算机之间都是通过ip地址来进行访问的

ip地址又分为公网ip地址和私网ip地址

公网ip地址:就是互联网中的ip地址

私网ip地址:面向内部的ip地址

 

2:子网掩码

就是用于来划分ip属于哪个网段的(网络部分),有多少个ip地址(主机部分)

3:网关

就是不同网段之间沟通的桥梁,如果要访问不同的网段,就必须通过这个网关出去

4:dns

域名解析用的,ip对应一个域名,有时,因为ip地址不好记,域名好记,就通过访问域名就能访问到页面

,没有dns的话,就不能通过域名来访问了

 

二:linux中网络设备命令的规则

1:传统方式命名

eth0;eth1这些以eth开头的;缺点就是:系统启动时,会根据哪张网卡先被加载来命令,一但之前的网卡有ip地址的话,如果后被加载的话,那么这个ip地址就没有用了,所配置的服务就不会生效了

 

2:流行的命名

1)设备开头

en:是以太网的设备

wl:无线局域网设备

ww:无线广域网设备

2)设备的类型

s:就是热插拔的类型,就是在开机的时候,可以进行插拔(就是可以手动的添加网卡),并且系统没有启动

o:就是板载设备,就是焊在了主板上,服务器上

p:pcie插槽的

ens160:是以太网的设备,后面的数字是随机的

总结:就是传统的网卡,如果服务器没有启动的话,且不修改ip的话,就可以使用传统的方式

 

三:网络的管理

1:ifconfig命令

1)查看网络设备信息

[root@server /]# ifconfig 
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.20.10  netmask 255.255.255.0  broadcast 192.168.20.255
        inet6 fe80::20c:29ff:fe6c:7db6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:6c:7d:b6  txqueuelen 1000  (Ethernet)
        RX packets 703  bytes 63295 (61.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0

 

ifconfig默认只能查看到哪些网卡是已经启动了的

使用ifconfig -a 可以查看到所有的网络设备(无论是否启动,都可以看得到)

 

2)管理设备

#启动设备
[root@server ~]# ifconfig ens160 up

#关闭设备
[root@server ~]# ifconfig ens160 down

 

3)配置ip地址(临时配置的)

[root@server ~]# ifconfig  ens224 192.168.10.10/24  

重启的话,这个ip地址就没有了 up一下,就没有了

 

2:ip命令

1)查看网络设备的信息

[root@server ~]# ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:6c:7d:b6 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:6c:7d:c0 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
[root@server ~]#

 

只能看到网卡设备的状态,信息,不能看到ip地址

2)管理网络设备

#关闭网络设备
[root@server ~]# ip link set ens224 down 

#开启网络设备
[root@server ~]# ip link set  ens224 up

  

3)配置ip地址

#添加ip地址
[root@server ~]# ip address add 192.168.10.100/24 dev ens224

 

添加多个ip地址

[root@server ~]# ip address add 192.168.10.101/24 dev ens224

#ifconfig只能看到一个设备的一个ip地址,此时,ip命令可以看到一个设备上的多个ip地址
[root@server ~]# ip address show ens224 
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:6c:7d:c0 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 192.168.10.100/24 scope global ens224
       valid_lft forever preferred_lft forever
    inet 192.168.10.101/24 scope global secondary ens224
       valid_lft forever preferred_lft forever
[root@server ~]#

 

删除ip地址

[root@server ~]# ip address del 192.168.10.101/24 dev ens224
[root@server ~]# ip address show ens224
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:6c:7d:c0 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 192.168.10.100/24 scope global ens224
       valid_lft forever preferred_lft forever
[root@server ~]# 

 

3:nmcli命令

上面的都是临时修改的操作,永久修改的操作要使用nmcli命令才行

红帽9的存放网卡的配置文件:

[root@server system-connections]# pwd
/etc/NetworkManager/system-connections

 

1:添加网卡的配置文件

就是先在外面添加网卡设备,然后再手动的创建一个网卡的配置文件

[root@server /]# nmcli connection add con-name ens224 ifname ens224 type ethernet autoconnect yes

 

自动的创建网络的配置文件,就是如果是dhcp模式的,就可以,不是dhcp的话,也能自动的创建配置文件,只是会卡主

[root@server system-connections]# nmcli device up ens224
^C错误:nmcli 被信号 中断 (2) 终止了
错误:连接激活失败:(0) 未给出原因。
[root@server system-connections]# nmcli connection show 
NAME    UUID                                  TYPE      DEVICE 
ens224  1d67bd8c-2708-43cd-a6ac-9881ac38f1d0  ethernet  ens224 
ens160  36089308-d7e2-3902-b3e9-eddfc2a57d2e  ethernet  ens160 

不是dhcp的话,就会显示黄色的  

2:配置Ip地址

[root@server /]# nmcli connection modify ens224  ipv4.method manual ipv4.addresses 192.168.20.20/24 ipv4.gateway 192.168.20.2 ipv4.dns 8.8.8.8 
[root@server /]# nmcli connection up ens224
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@server /]#  

就是以命令的方式来配置ip的话,还需要up一下才生效

如果直接修改配置文件的话

[ipv4]
address1=192.168.20.21/24,192.168.20.2
dns=8.8.8.8;
method=manual

[root@server system-connections]# nmcli connection reload 
[root@server system-connections]# nmcli connection up ens224
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/8)

这样就能显示已经被修改的Ip地址了

  

3)添加多个ip地址和删除添加多个地址

[root@server system-connections]# nmcli connection modify ens224 +ipv4.addresses 192.168.20.23/24

删除这个ip地址
[root@server system-connections]# nmcli connection modify ens224 -ipv4.addresses 192.168.20.23/24
[root@server system-connections]# nmcli connection up ens224

 

4:删除网络的配置文件

[root@server /]# nmcli connection delete ens224 

 

5:查看设备的状态

[root@server /]# nmcli device status 
DEVICE  TYPE      STATE   CONNECTION 
ens160  ethernet  已连接  ens160     
ens224  ethernet  已连接  ens224     
lo      loopback  未托管  --         
[root@server /]# 

 

6:断开网卡与配置文件的连接和启动与配置文件的连接

[root@server /]# nmcli device down ens224
成功断开设备 "ens224"

启动就是up      

4:路由管理

1:查看路由表

[root@server /]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.20.2    0.0.0.0         UG    100    0        0 ens160
192.168.20.0    0.0.0.0         255.255.255.0   U     100    0        0 ens160
[root@server /]# 

 

这个目的地址0.0.0.0代表着去往所有的地址都行

2:添加路由

添加一个默认的路由

[root@server /]# ip route 
default via 192.168.20.2 dev ens160 proto static metric 100 
default via 192.168.20.2 dev ens224 proto static metric 101 
192.168.20.0/24 dev ens160 proto kernel scope link src 192.168.20.10 metric 100 
192.168.20.0/24 dev ens224 proto kernel scope link src 192.168.20.30 metric 101 
[root@server /]# ip route add default via 192.168.20.254 dev ens224
[root@server /]# ip route
default via 192.168.20.254 dev ens224 
default via 192.168.20.2 dev ens160 proto static metric 100 
default via 192.168.20.2 dev ens224 proto static metric 101 
192.168.20.0/24 dev ens160 proto kernel scope link src 192.168.20.10 metric 100 
192.168.20.0/24 dev ens224 proto kernel scope link src 192.168.20.30 metric 101 
[root@server /]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.20.254  0.0.0.0         UG    0      0        0 ens224
0.0.0.0         192.168.20.2    0.0.0.0         UG    100    0        0 ens160
0.0.0.0         192.168.20.2    0.0.0.0         UG    101    0        0 ens224
192.168.20.0    0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 ens224
[root@server /]# 

ip route和route -n都能查看到路由表

添加一个指定主机出去的路由

就是访问目的主机必须从这个网关出去才行,也就是下一跳

[root@server /]# route add -host 10.0.0.20  gw 192.168.20.254 dev ens224

也就是要去访问10.0.0.10这个地址的话,必须要经过192.168.20.254这个地址才行

 

添加一个指定网段的路由

[root@server /]# route add -net 12.0.0.0/24 gw 192.168.20.2 dev ens224
[root@server /]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.20.254  0.0.0.0         UG    0      0        0 ens224
0.0.0.0         192.168.20.2    0.0.0.0         UG    100    0        0 ens160
0.0.0.0         192.168.20.2    0.0.0.0         UG    101    0        0 ens224
10.0.0.10       192.168.20.254  255.255.255.255 UGH   0      0        0 ens224
12.0.0.0        192.168.20.2    255.255.255.0   UG    0      0        0 ens224
192.168.20.0    0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 ens224
[root@server /]# 

当然,添加路由,这个网关也一定要是自己能够访问到的才行

 

四:三种模式

1:nat模式

就是能够去访问外网的

nat虚拟设备:就是将虚拟机的ip地址转换成主机的地址才去上网,就是将私网地址转换成公网的地址去访问外网

就是与vmnet8相连,就是能够是本机ping得了虚拟机,虚拟机内部能够访问外网,但是外网访问不了内网,因为,没有公网转换成私网地址的

,所以就算是vmnet8断开了,虚拟机也能访问外网

 

2:仅主机模式

就是用于内部通信用的,不能访问外网

因为交换机没有连接上这个物理网卡,所以访问不了外网,只能用于内部的通信

 

3:桥接模式

就是直接将虚拟机桥接到物理网卡上面去了,虚拟机的网络地址与真机的网络地址是属于同一个网段的

也就是,虚拟机与主机处于同一个网段

1)配置桥接模式

就是先把虚拟网络编辑器的桥接模式连接到物理网卡上面去

 

[root@server /]# nmcli connection modify ens224 ipv4.method manual ipv4.addresses 192.168.0.100/24 ipv4.gateway 192.168.0.1 ipv4.dns 192.168.1.1

地址处于同一个网段上,网关和dns与真机保持一致

这样就能访问外网了

 

  

  

  

 

 

 

五:监听端口

存放端口的配置文件/etc/service

1:netstat命令

netstat则是基于/proc/net/tcp获取信息

[root@server /]# netstat -pant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      966/sshd: /usr/sbin 
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      964/cupsd           
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      1501/sshd: root@pts 
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      7323/sshd: root@pts 
tcp        0    280 192.168.20.10:22        192.168.20.1:65170      ESTABLISHED 7319/sshd: root [pr 

 

-p:就是显示pid和命令

-a:显示所有的套接字

-n:以数字的形式显示端口和主机名

-t:显示tcp套接字  

 

2:ss命令

它是从内核读取网络的信息,比较的快

[root@server /]# ss -pant
State   Recv-Q  Send-Q   Local Address:Port   Peer Address:Port  Process                                                 
LISTEN  0       128            0.0.0.0:22          0.0.0.0:*      users:(("sshd",pid=966,fd=3))                          
LISTEN  0       128          127.0.0.1:631         0.0.0.0:*      users:(("cupsd",pid=964,fd=7))                         
LISTEN  0       128          127.0.0.1:6010        0.0.0.0:*      users:(("sshd",pid=1501,fd=9))                         
LISTEN  0       128          127.0.0.1:6011        0.0.0.0:*      users:(("sshd",pid=7323,fd=9))                         
ESTAB   0       68       192.168.20.10:22     192.168.20.1:65170  users:(("sshd",pid=7323,fd=4),("sshd",pid=7319,fd=4))  
ESTAB   0       0        192.168.20.10:22     192.168.20.1:64303  users:(("sshd",pid=1501,fd=4),("sshd",pid=1473,fd=4))  
LISTEN  0       128               [::]:22             [::]:*      users:(("sshd",pid=966,fd=4))                          
LISTEN  0       128              [::1]:631            [::]:*      users:(("cupsd",pid=964,fd=6))                         
LISTEN  0       128              [::1]:6010           [::]:*      users:(("sshd",pid=1501,fd=8))                         
LISTEN  0       128              [::1]:6011           [::]:*      users:(("sshd",pid=7323,fd=8))                         
[root@server /]# 

 

其中的local是0.0.0.0的话,就代表着所有的ip地址都可以访问

所以的话,在执行的效率上ss的速度比netstat的速度更快

 

  

  

  

  

  

  

  

 

 

 

 

 

 

注意的点:

就是检测你的dns是否正确的话,使用nslookup 域名 看能否成功

修改主机名,hostnamectl hostname 主机名,bash一下就可以修改了