Linux 网络设置与基础服务

一 配置网络设置

  • 主机名 hostname

  • IP地址/netmask ifconfig ; ip a

  • 路由:默认网关 route -n

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

  • 网络连接状态 ss netstat

  • 域名解析 nslookup host

ifconfig

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

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

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

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

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

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

ifconfig修改IP地址

inconfig ens33 新的IP地址

bash 复制代码
[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地址

临时修改网卡名称

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

永久修改IP地址的方法

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

最好重启#systemctl restart network

临时修改网卡名称

①先down掉

②修改网卡名

③重启之后,就会消失

bash 复制代码
[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 ~]# 

永久修改网卡名

vim /etc/default/grub

init 6,成功了

双卡配置

先在虚拟机设置里添加一张网卡

bash 复制代码
[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
bash 复制代码
[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 add del

bash 复制代码
ip address del 10.0.0.8/24 dev ens33

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

#ip  a

ip route 路由

bash 复制代码
[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

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

添加默认路由

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更靠近用户 (慢)

traceroute IP地址 跟踪数据包

nslookup

hostname 临时修改主机名

bash 复制代码
[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 永久生效

①指令修改

②文件修改

tcpdump

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

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

②tcpdump -D 查看网卡

#查看系统当前所有网卡的信息
#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

bond网卡绑定

主备替用

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

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

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

①虚拟机再添加一张网卡

[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地址

查看一下bond0状态

第一种情况

第二种状态

方法二

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
相关推荐
lllsure19 分钟前
Linux 实用指令
linux·物联网
努力的小T40 分钟前
使用 Docker 部署 Apache Spark 集群教程
linux·运维·服务器·docker·容器·spark·云计算
okok__TXF1 小时前
Rpc导读
网络·网络协议·rpc
Nerd Nirvana1 小时前
OpenSSL crt & key (生成一套用于TLS双向认证的证书密钥)
linux·ssl·shell·认证·加密·tls·oepnssl
&向上2 小时前
RK3588配置成为路由器
网络·智能路由器·rk3588
letisgo52 小时前
记录一次部署PC端网址全过程
linux·阿里云·服务器运维
枫叶落雨2222 小时前
08-Elasticsearch
运维·jenkins
猫猫的小茶馆2 小时前
【网络编程】UDP协议
linux·服务器·网络·网络协议·ubuntu·udp
尚墨11112 小时前
linux 安装启动zookeeper全过程及遇到的坑
linux·zookeeper
鱼嘻2 小时前
Linux自学day23-进程和线程
linux·服务器·c语言·进程和线程