linux网络配置

网络配置命令

 

ifconfig

ifconfig 命令通常用于查看、配置和管理网络接口的信息,其通常用法如下:

  1. 查看所有网络接口信息:可以直接运行 ifconfig 命令来查看系统上所有网络接口的信息,包括接口名、IP 地址、MAC 地址等。

  2. 查看特定网卡信息:可以指定网卡名来查看特定网卡的详细信息。

  1. 配置网络接口的 IP 地址:可以使用 ifconfig 命令配置网卡的 IP 地址、子网掩码等信息。(临时修改)
    ifconfig 网卡 IP地址/掩码

  2. 控制网卡开启或关闭:
    ifconfig 网卡名 up  #开启
    ifconfig 网卡名 down  #关闭

  3. 取消网卡设置
    ifconfig 网卡名 0

  4. 添加虚拟网卡

    ifconfig 网卡名:num ip地址/掩码  

ip

ip 命令是一个更现代化和强大的替代工具,用于管理网络接口信息。 

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT 为常用对象,值可以是以下几种:

 

  1. link:

    • ip link show: 显示所有网络接口的信息。
    • ip link set <interface> up/down: 启用或禁用指定的网络接口。
    • ip link add <interface>: 添加新的网络接口。
    • ip link delete <interface>: 删除指定的网络接口。

  2. address:

    • ip address show: 显示所有网络接口的IP地址信息。
    • ip address add <ip_address>/<subnet_mask> dev <interface>: 将指定的IP地址添加到网络接口。
    • ip address delete <ip_address>/<subnet_mask> dev <interface>: 从网络接口中删除指定的IP地址。

  3. addrlabel:

    • ip addrlabel show: 显示地址标签配置信息。
    • ip addrlabel add <prefix> <label>: 添加地址标签。
    • ip addrlabel del <prefix>: 删除指定前缀的地址标签。
  4. route:

    • ip route show: 显示系统路由表。
    • ip route add <network> via <gateway>: 添加静态路由。
    • ip route delete <network> via <gateway>: 删除静态路由。

  5. rule:

    • ip rule show: 显示路由规则。
    • ip rule add <rule>: 添加路由规则。
    • ip rule del <rule>: 删除路由规则。

hostname

用于查看或设置当前主机名。

 临时修改:

hostname [主机名]

永久修改:

 永久修改:

route

  1. 显示路由表:

    route -n

  2. 添加静态路由:

    route add -net <network> netmask <netmask> gw <gateway>

  3. 删除静态路由:

    route del -net <network> netmask <netmask> gw <gateway>

  4. 添加默认网关:

    route add default gw <gateway>
  5. 删除默认网关:

    route del default gw <gateway>
  6. 清除路由表:

    route flush

永久添加路由

使用route命令添加的路由会在重启后删除,想要添加永久路由,我们可以将路由写到下面的文件中。

vim /etc/sysconfig/network-scripts/route-ens33
systemctl restart network

netstat和ss

 

netstat和ss的选项基本一致,并且ss运行更接近内核位置,所以ss的运行速度快于netstat,以下直接介绍ss。

  • -t:仅显示TCP协议相关的套接字。
  • -u:仅显示UDP协议相关的套接字。
  • -w:仅显示裸套接字(raw socket)相关的套接字。
  • -x:仅显示UNIX域套接字相关的套接字。
  • -l:仅显示处于监听状态的套接字。
  • -a:显示所有状态的套接字,等同于未指定任何状态的套接字。
  • -n:以数字格式显示,IP地址和端口号不解析为域名和协议名称。
  • -p:显示相关的程序及其PID。
  • -e:显示扩展的信息,包括进程信息。
  • -m:显示套接字的内存用量。
  • -o:显示计时器信息。
  • -r:解析IP地址为域名,端口号为协议名称,需要使用DNS服务。

 修改网卡配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
DEVICE=ens33 
NAME=ens33                   //网卡名称
BOOTPROTO=static             //网卡获取地址模式   none   dhcp
ONBOOT=yes                   //开机是否自启动

IPADDR=192.168.146.140               //配置你自己的IP地址子网网关还有dns服务器
NETMASK=255.255.255.0               //PREFIX=24
GATEWAY=192.168.146.2
DNS1=8.8.8.8

修改后需要重启网卡服务。网卡的其他配置如下所示。

#TYPE:接口类型;常见有的Ethernet, Bridge
#PROXY_METHOD:此配置文件应用到的设备  
#BROWSER_ONLY:
#BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
#DEFROUTE:
#IPV4_FAILURE_FATAL:
#IPV6INIT:
#IPV6_AUTOCONF:
#IPV6_DEFROUTE:
#IPV6_FAILURE_FATAL:
#IPV6_ADDR_GEN_MODE:
#NAME:此配置文件应用到的设备
#UUID:设备的惟一标识
#DEVICE:设备名
#ONBOOT:在系统引导时是否激活此设备
#IPADDR:
#NETMASK:
#GATEWAY:
#DNS1:

scp

在CentOS 7中,scp命令用于在本地系统和远程系统之间进行安全的文件传输。它使用SSH协议来加密传输数据,并提供了类似于cp命令的使用方式。

以下是scp命令的基本用法:

scp [选项] [源文件] [目标位置]

其中:

  • [选项]:可以是一些可选参数,用于指定传输的一些选项,如 -r 用于递归地复制目录。
  • [源文件]:是要传输的文件或目录的路径。
  • [目标位置]:是文件或目录的目标位置。如果是远程系统,则应该包含用户名和主机名,格式为 username@hostname:/path/to/destination

示例:

 ethtool

[root@localhost ~]#ethtool -p ens33  
#让ens33 网卡快速闪烁

tcpdump

tcpdump是一个强大的网络抓包工具,可以在命令行中使用。它能够捕获网络数据包,并将其以各种格式显示出来,用于网络故障排除、网络监控等任务。以下是tcpdump的基本用法:

tcpdump    option   proto     dir         type
           选项      协议      数据的方向    抓取的数据类型

option(选项):

  1. -i 指定网卡

proto(协议):

  1. tcp udp icmp
  2. ip ipv6
  3. arp

dir(方向):

  1. src
  2. dst
  3. src and dst

type(类型)

  1. host 主机
  2. net 网段
  3. port 端口
  4. port range 端口范围

示例:

请抓取源地址是10.0.0.6目的地址是10.0.0.7经过eth0网卡的icpm协议包

[root@centos8 ~]#tcpdump -i eth0 -nn icmp and   src host 10.0.0.6 and dst host 10.0.0.7

修改网卡名称

要将centos7上的网卡ens33改为和centos6上相同的eth0需要以下几步:

1.复制ens33的配置文件到eth0的网卡配置文件

 2.修改grub文件

vim /etc/default/grub 
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"
#在上面的行加入   net.ifnames=0

 3.重新生成 grub的配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg 

4.重启后可以看到网卡名称改变

bond 多网卡绑定

 Bonding(聚合链路)是一种网络技术,用于将多个物理网络接口(例如以太网、无线网卡)组合成一个虚拟的网络接口,以增加带宽、提高可靠性或实现负载均衡。Bonding技术允许多个网络接口并行工作,从而提高网络性能和可靠性。

聚合链路工作模式(也称为聚合链路模式或Bonding模式)指定了如何将多个物理接口组合在一起工作。以下是几种常见的聚合链路工作模式:

  1. Round Robin(轮询): mode=0balance-rr。在此模式下,数据包依次从每个接口发送,实现负载均衡。这意味着传输的数据包将依次分布到各个接口上,从而利用所有可用接口的带宽。然而,Round Robin并不考虑接口的实际负载情况,可能会导致不均匀的流量分布。

  2. Active-Backup(主备模式):mode=1, active-backup。 在主备模式下,只有一个接口处于活动状态,而其他接口处于备用状态。如果活动接口失效,备用接口将接管数据传输,以实现冗余和故障转移。这种模式适用于对可靠性要求较高的场景,但未充分利用所有接口的带宽。

  3. XOR(异或模式): mode=2balance-xor。XOR模式使用源和目标MAC地址以及IP地址的散列来决定将数据包发送到哪个接口。这种方式可以确保同一会话的数据包始终通过相同的物理接口发送,以避免乱序问题。

  4. Broadcast(广播模式): mode=3, broadcast。广播模式将数据包广播到所有接口,适用于某些特定的场景,如网络监控或数据包捕获。

  5. 802.3ad(IEEE 802.3ad聚合): mode=4802.3ad。802.3ad模式基于IEEE标准,通过链路聚合控制协议(LACP)实现动态链路聚合。它允许交换机动态地将多个物理接口聚合成一个逻辑接口,并根据负载情况动态分配流量,以提高带宽利用率和网络可靠性。

示例:

现有ens36,37,将他们绑定为ip为192.168.146.180/24的聚合网卡bond0。

新建虚拟网卡bond0,配置如下所示:

#mode=1为主备模式
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路 #fail_over_mac=1" 永远使用活着的 网卡的mac地址

修改ens36和ens37的配置文件。

重启网卡后可以看到配置成功。

cat /proc/net/bonding/bond0

 

posted @ 2024-04-24 18:46  hx_ky36  阅读(35)  评论(0编辑  收藏  举报