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 ![](https://file.jishuzhan.net/article/1747255161199267841/25f04dd9d2960816dd1004c3268208e1.webp) \[root@localhost network-scripts\]#systemctl restart network ![](https://file.jishuzhan.net/article/1747255161199267841/61102e791e6e4595cd4f95b0d51cf8cd.webp) 若不断网#cd /etc/sysconfig/network-scripts # ls # rm-rf ifcfg-bondo 再次连接起来 ![](https://file.jishuzhan.net/article/1747255161199267841/fe04b11af210a6ba6e8cbe385e5f3457.webp) 查看bind0状态 ![](https://file.jishuzhan.net/article/1747255161199267841/c621f32aa75d6bb8db9f656c42d8e44a.webp) ![](https://file.jishuzhan.net/article/1747255161199267841/16047c766a44ec37584937dcd739cd6c.webp) 用另外虚拟机ping一下bond0的IP地址 ![](https://file.jishuzhan.net/article/1747255161199267841/7b146083a18578cf6ac87c6e6602340b.webp) 查看一下bond0状态 第一种情况 ![](https://file.jishuzhan.net/article/1747255161199267841/bc337766909e63afad9997359ca00e55.webp) ![](https://file.jishuzhan.net/article/1747255161199267841/25aab00cda18d4c72796f5de32579542.webp) 第二种状态 ![](https://file.jishuzhan.net/article/1747255161199267841/28f1343d5f05285c8a57ab8aec94f7fb.webp) ![](https://file.jishuzhan.net/article/1747255161199267841/bc0d4211f5877a9f59afe268ba2912c8.webp) ![](https://file.jishuzhan.net/article/1747255161199267841/cce16e4bfc12e405270b5f2bab2b01e5.webp) #### 方法二 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

相关推荐
GuokLiu2 小时前
250708-Debian系统安装Edge浏览器并配置最小中文输入法
运维·edge·debian
Two_brushes.2 小时前
【linux 网络】网络基础
linux·网络
Code Warrior2 小时前
【Linux】基础开发工具(3)
linux·服务器
鬼才血脉2 小时前
Linux(centos)安装 MySQL 8
linux·mysql·centos
guygg883 小时前
ubuntu手动编译VTK9.3 Generating qmltypes file 失败
linux·运维·ubuntu
JeffersonZU3 小时前
Linux/Unix 套接字Socket编程(socket基本概念,流程,流式/数据报socket,Unix domain socket示例)
linux·c语言·tcp/ip·udp·unix·gnu
先做个垃圾出来………3 小时前
自动化一次通过率
运维·自动化
Two_brushes.4 小时前
【linux网络】网络编程全流程详解:从套接字基础到 UDP/TCP 通信实战
linux·开发语言·网络·tcp/udp
夕泠爱吃糖4 小时前
Linux中的静态库和动态库
linux·运维·服务器
武汉唯众智创5 小时前
高职院校“赛岗课”一体化网络安全实战类人才培养方案
网络·安全·web安全·网络安全·“赛岗课”一体化·赛岗课