Bootstrap

Linux 网络设置与基础服务

1  配置网络设置

  • 主机名                    hostname

  • IP地址/netmask      ifconfig   ;    ip  a

  • 路由:默认网关         route  -n

  • DNS服务器            cat   /etc/resolv.conf

  • 网络连接状态          ss   netstat

  • 域名解析                 nslookup     host

  • IP 地址

2 ifconfig

ifconfig          具体网卡名称         #只显示具体网卡的详细信息(无论该网卡是否使用)

ifconfig          -a                 #表示显示所有网卡包括没有启动的网卡

ifconfig          网卡名称   [up|down]      #表示开启或关闭网卡

ifconfig          网络接口    ip地址/[netmask  子网掩码]

ifconfig          网络接口    ip地址[/子网掩码长度]      临时修改网卡名称

ifconfig           ens33:0          地址          #表示虚拟网卡

ifconfig 修改IP地址

 inconfig  ens33   新的IP地址

[root@localhost ~]# ifconfig ens33 192.168.11.8


[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.11.8  netmask 255.255.255.0  broadcast 192.168.11.255
        inet6 fe80::42b7:9714:f504:2343  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:96:50:48  txqueuelen 1000  (Ethernet)
        RX packets 641  bytes 49417 (48.2 KiB)
需要重新连接一下Xshell

ifconfig 添加临时IP地址

ifconfig 删除临时IP地址 

 永久修改IP地址

# vim   /etc/sysconfig/network-scripts/ifcfg-ens33

最好重启#systemctl  restart network

3 修改网卡名

临时修改网卡名称

ip link set ens36 down
#先将网卡down掉
ip link set ens36 name abc
#然后改名
ip link set abc up
#最后再启动网卡

①先down掉

②修改网卡名

③重启之后,就会消失


[root@localhost ~]# ifconfig ens33 down

Socket error Event: 32 Error: 10053.

连接另一个网卡ens33登录改名

[root@localhost ~]# ip link set ens33 name mcb
[root@localhost ~]# ifconfig mcb up
[root@localhost ~]# ifconfig mcb 
mcb: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.11.8  netmask 255.255.255.0  broadcast 192.168.11.255
        inet6 fe80::761e:9150:7c6f:2b3d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:96:50:48  txqueuelen 1000  (Ethernet)
        RX packets 1870  bytes 129554 (126.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 536  bytes 63192 (61.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 

4 永久修改网卡名

# vim /etc/default/grub

  reboot/init 6  成功了 

ethool

用于查看和修改以太网接口驱动程序和硬件参数的工具

ethtool eth0            #显示以太网接口的状态信息
ethtool -i eth0         #查看以太网接口的驱动程序信息
ethtool -S eth0         #显示以太网接口的统计信息
ethtool -p eth0         #让ens33网口的灯快速闪烁,可分辨现实中的eth0网络接口

5 实操:双卡配置(实验没有搞完)

①先在虚拟机设置里添加一张网卡
②将ens33的配置文件拷给ens36
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36


TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.91.110
NETMASK=255.255.255.0
GATEWAY=192.168.91.2


[root@localhost network-scripts]# systemctl restart network



[root@localhost ~]# ping 192.168.11.20
PING 192.168.11.20 (192.168.11.20) 56(84) bytes of data.
64 bytes from 192.168.11.20: icmp_seq=1 ttl=64 time=0.058 ms
64 bytes from 192.168.11.20: icmp_seq=2 ttl=64 time=0.051 ms
64 bytes from 192.168.11.20: icmp_seq=3 ttl=64 time=0.050 ms
64 bytes from 192.168.11.20: icmp_seq=4 ttl=64 time=0.049 ms
64 bytes from 192.168.11.20: icmp_seq=5 ttl=64 time=0.048 ms
③进行ens36配置文件修改

④测试

6 IP

ip  link   数据链路层

[root@localhost ~]# ip link    #断网或拔掉网线状态
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:96:50:48 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT qlen 1000
    link/ether 52:54:00:8d:7b:87 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT qlen 1000
    link/ether 52:54:00:8d:7b:87 brd ff:ff:ff:ff:ff:ff
[root@localhost ~]# 

ip addr 网络层

[root@localhost ~]# ip addr
#可以写成ip a,更高端的查看网卡信息
[root@localhost ~]# ip address add 172.19.8.211/16 dev ens33
#添加新的虚拟ip地址
[root@localhost ~]# ip address add 10.0.0.88/24 dev ens33    #临时添加IP
[root@localhost ~]# ip address del 10.0.0.8/24 dev ens33
ip addr     #显示和管理网络接口信息
ip address add ip地址/子网掩码 dev 网卡名
#临时增加网卡
 
ip address add ip地址/子网掩码 dev ens33 label ens33:1
#临时增加虚拟网卡
 
ip address del ip地址/子网掩码 dev 网卡名
#临时删除网卡
 
ip address del ip地址/子网掩码 dev ens33 label ens33:1
#临时删除虚拟网卡

ip add del 

ip address del 10.0.0.8/24 dev ens33

#先加新IP,再删除旧的IP

#ip  a

 ip route   路由

[root@localhost ~]# ip route 
default via 192.168.11.2 dev ens33 proto static metric 100 
192.168.11.0/24 dev ens33 proto kernel scope link src 192.168.11.20 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 

route-n

7 添加删除路由

路由第一行代表意思 

Destnation

Gateway

 Genmask 

Flags

Metric

Ref  

 Use

Iface

 ①route add -net 10.0.0.0/8 gw 192.168.227.2

临时添加一条去往10.0.0.0段路由,通过网关192.168.227.2转发

②route del -net 10.0.0.0/8

删除去往10.0.0.0段路由

③route add -net 0.0.0.0(default) gw 192.168.227.2

添加默认路由

④永久添加路由
[root@localhost ~]# vim /etc/sysconfig/network-scripts/route-ens33
10.0.0.0/24 via 192.168.11.11
[root@localhost ~]# systemctl restart network

8 ss/netstat——网络连接状态


服务不能用,ftp、httpd网页无法访问

1.首先ping  是否能通;看网络是否通,防火墙是否关闭

2.查看服务是否开启systemctl status  服务名

3.ss   或  netstat  看服务端口是否被占用

4.查看服务的配置文件是否正确
netstat

查看网络连接情况

-a    显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n    拒绝显示别名,以数字的形式显示相关的主机地址、端口等信息。
-t     查看TCP协议相关的信息。
-u    显示UDP协议相关的信息。
-r    显示路由表信息。
-l    显示处于监听状态(Listen)的网络连接及端口信息。
-p    显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)

ss

查看网络连接情况

-t    tcp协议相关
-u    udp协议相关
-w    裸套接字相关
-x    unix sock相关
-l    listen状态的连接
-a    显示所有连接
-n    数字格式
-p    相关的程序及PID
-e    扩展的信息
-m    内存用量
-o    计时器信息
-r    --resolve 把 IP 解释为域名,把端口号解释为协议名称

区别

ss  更靠近内核(快)

netstat更靠近用户 (慢)

9 traceroute  IP地址     

跟踪数据包,路由跟踪

10 nslookup  

域名解析,验证dns服务器是否可以解析域名;dns域名解析的作用是:将域名翻译成ip地址。同时其他命令也可以查看,比如:dig,host,ping等。

11 修改主机名

hostname   临时修改主机名

[root@localhost ~]# hostname  mg


登出

Connection closed.

Disconnected from remote host(7-64-2) at 18:46:11.


Last login: Tue Jan  9 18:01:12 2024 from 192.168.11.1
[root@mg ~]# ^C
[root@mg ~]# 
重启就消失

hostname  永久修改主机名

①指令修改

②文件修改

12 tcpdump-数据抓包

一个强大的网络协议分析器,它主要用于监控和捕获网络流量数据包,并能够以易于阅读的格式显示这些信息。在Linux和其他类Unix系统中广泛使用,是网络管理员、安全专家和开发者进行网络故障排查、性能分析以及安全审计的重要工具

①tcpdump -i ens33  指定查看 ens33 网卡

 ②tcpdump -D  查看网卡

③监听特定地址的包

④抓取来源于192.168.241.22 目的地址是192.168.241.11的包


#查看系统当前所有网卡的信息
#tcpdump -D
 
#监听特定网卡
tcpdump -i ens33
 
#监听特定主机,监听主机192.168.11.12的通信包,注意:出、入的包都会被监听
tcpdump host 192.168.11.12
 
#特定来源的通信
tcpdump src host hostname或ip地址/子网掩码
#特定目标地址的通信
tcpdump dst host hostname或ip地址/子网掩码
#如果不指定src跟dst,那么来源或者目标是hostname或ip地址/子网掩码的通信都会被监听
tcpdump host hostname或ip地址/子网掩码
 
#捕获从ip地址为192.168.11.12的主机发送到ip地址为192.168.11.9的主机的icmp报文
tcpdump -i eth0 -nn icmp and src host192.168.12 and dst host 192.168.11.9
 
#捕获特定端口的数据包
tcpdump port 1000
 
#监听TCP/UDP,服务器上不同服务分别用了TCP、UDP作为传输层,假如只想监听TCP的数据包
tcpdump tcp
 
#来源主机+端口+TCP,监听来自主机192.168.11.12在端口22上的TCP数据包
tcpdump tcp port 22 and src host 192.168.11.12
 
#监听特定主机之间的通信
tcpdump ip host 172.16.12.10 and 192.168.11.12
 
#192.168.11.12和除了192.168.11.9之外的主机之间的通信
tcpdump ip host 1192.168.11.12 and ! 192.168.11.9
 
#在eth1接口上抓取前100个源IP地址在172.16.12.0/24网段内、目标端口不为SSH的TCP 数据包,并将这些数据包保存到target.cap文件中,以便后续分析和处理
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 172.16.12.0/24 
-w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数
据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 172.16.12.0/24 : 数据包的源网络地址为172.16.12.0/24
(8)-w ./target.cap : 保存成cap文件,方便用wireshark分析
 
#限制抓包的数量,如下,抓到1000个包后,自动退出
tcpdump -c 1000

13 bond多网卡绑定

主备替用:单点故障

双主模式:分摊流量

1  直接给两块网卡设置同一IP地址是不可以的

2  将多块网卡绑定同一IP地址对外提供服务,实现利用率或者负载均衡

3 虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

① 虚拟机再添加一张网卡
② 切换到配置文件目录下
③ 进入bond0配置
④修改ens33  ens36
⑤重启网卡
⑥测试
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]#cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]#ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.11.9  netmask 255.255.255.0  broadcast 192.168.11.255
        inet6 fe80::49b8:5a32:b24e:fc95  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:83:50:c4  txqueuelen 1000  (Ethernet)
        RX packets 115353  bytes 167503435 (159.7 MiB)
        RX errors 1354  dropped 7209  overruns 0  frame 0
        TX packets 80916  bytes 4458103 (4.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 19  base 0x2000  

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:83:50:ce  txqueuelen 1000  (Ethernet)


[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-bondo
[root@localhost network-scripts]#vim ifcfg-bond0

[root@localhost network-scripts]#vim ifcfg-ens33

 [root@localhost network-scripts]#vim ifcfg-ens37

[root@localhost network-scripts]#systemctl restart network

若不断网#cd /etc/sysconfig/network-scripts

             #  ls

             #   rm-rf ifcfg-bondo

再次连接起来

查看bind0状态

 

用另外虚拟机ping一下bond0的IP地址

14 查看一下bond0状态

 第一种情况

 

第二种状态

bond网卡绑定 方法二  基本上用不上
 
centos8:    nmcli实现bonding
 
 
#创建新连接static ,指定静态IP,不自动连接
nmcti con add con-name static   ifname eth0 autoconnect no type Ethernet 
ipv4.addresses 172.25.X.10/24 ipv4.gateway   172.25.X.254
 
nmcli connection modify ens33 ipv4.addresses 192.168.91.100/2
nmcli connection up ens33


 
#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.91.123/24 
#添加从属接口
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens36 master bond0
#注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens36
#启动绑定
nmcli con up mybond0
;