CentOS_网络


查看网卡

查看网卡状态:up、down
将eth0替换实际网卡名。ip add可查看网卡名。

  1. dmesg | grep eth0
  2. ethtool eth0 | grep Link
  3. cat /sys/class/net/eth0/operstate
  4. ip link show

查看是光口还是电口

ethtool 是一个在 Linux 系统中用于查询和控制网络设备驱动程序设置的命令行工具。它可以显示和更改网络接口的设置,例如速率、双工模式、MAC 地址、环回模式等。
显示网络接口信息: ethtool

  1. ethtool eno1
  2. Port: Twisted Pair 端口:双绞线
  3. Port: FIBRE 端口:光纤口

ethtool eth0 | grep Port

查看网络接口的统计信息:
ethtool -S

查看网络接口的驱动程序信息:
ethtool -i

设置网卡

  1. 开启eth0网卡
  2. ip link set eth0 up
  3. 或:ifconfig eth0 up
  4. 关闭eth0网卡
  5. ip link set eth0 down
  6. 或:ifconfig eth0 down
  7. 开启网卡的混合模式
  8. ip link set eth0 promisc on
  9. 关闭网卡的混合模式
  10. ip link set eth0 promisc off
  11. 设置网卡队列长度
  12. ip link set eth0 txqueuelen 1200
  13. 设置网卡最大传输单元
  14. ip link set eth0 mtu 1400

在网卡上创建新的vlan虚接口
参考: ip link命令详解

  1. 在设备eth0上创建新的vlan设备eth0.10
  2. ip link add link eth0 name eth0.10 type vlan id 10
  3. id VLANID:指定要使用的VLAN标识符。请注意,带前导“0”或“0x”的数字分别被解释为八进制或十六进制
  4. 删除
  5. ip link delete dev eth0.10
  6. dev DEVICE:指定要操作的虚拟设备

参考: ip link命令详解

通过ifcfg文件 配置网络

示例文件:

  1. [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=static
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=yes
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. IPV6_ADDR_GEN_MODE=stable-privacy
  13. NAME=eth0
  14. UUID=c6688d9d-2505-6d95-8e88-99e6c3aabbcc
  15. DEVICE=eth0
  16. ONBOOT=yes
  17. IPADDR=192.168.1.20
  18. GATEWAY=192.168.1.1
  19. NETMASK=255.255.255.0
  20. DNS1=192.168.1.1
  21. DNS2=8.8.8.8
  22. ZONE=public
  23. # 重启网卡
  24. [root@localhost ~]#systcmctl restart network
  25. # 如果使用systemctl restart netwrok报错
  26. [root@localhost network-scripts]# systemctl status netwrok
  27. Unit netwrok.service could not be found.
  28. # 就使用 service network restart
  29. [root@localhost network-scripts]# service network restart
  30. Restarting network (via systemctl): [ OK ]

参考: https://blog.csdn.net/weixin_44863237/article/details/121899374

配置静态网络

以enp4s0网络接口进行静态网络设置为例,通过在root权限下修改ifcfg文件实现,在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-enp4s0的文件中,修改参数配置,示例如下:

  1. TYPE=Ethernet
  2. PROXY_METHOD=none
  3. BROWSER_ONLY=no
  4. BOOTPROTO=none
  5. IPADDR=192.168.0.10
  6. PREFIX=24
  7. DEFROUTE=yes
  8. IPV4_FAILURE_FATAL=no
  9. NAME=enp4s0
  10. UUID=08c3a30e-c5e2-4d7b-831f-26c3cdc29293
  11. DEVICE=enp4s0
  12. ONBOOT=yes

修改连接配置后,需要重新连接和加载配置

  1. # nmcli con up enps0 ifname enps0
  2. # nmcli con reload

查看连接情况

  1. $ nmcli connection show

通过nmcli 配置网络

http://www.178linux.com/44668

在CentOS / RHEL 7中网络管理命令行工具,也叫nmcli
device叫网络接口,是物理设备
nmcli device help
nmcli device
nmcli device show

connection是连接,偏重于逻辑设置
nmcli connection help

NeworkManager是管理和监控网络设置的守护进程

设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效。

显示所有包括不活动连接
nmcli con show

显示所有活动连接
nmcli con show –active

显示网络连接配置
nmcli con show “System eth0“

显示设备状态
nmcli dev status

显示网络接口属性
nmcli dev show eno16777736
eth0为对应的网卡名
创建新连接default,IP自动通过dhcp获取
(eth0为对应的网卡名,default将显示在/etc/sysconfig/network-scripts/文件夹下)
nmcli con add con-name default type Ethernet ifname eth0

删除连接
nmcli con del default

创建新连接static ,指定静态IP,不自动连接
nmcticon add con-name static ifnameeth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254

con add – 添加新的连接
con-name – 连接名
type – 设备类型
ifname – 接口名
autoconnect no – 禁止开机自动启动

nmcli con show
可以看到直接生成配置文件,但是网卡没有绑定,所以并没有生效
我们需要将这个接口启用

启用static连接配置
nmcli con up static

启用default连接配置
nmcli con up default

例:创建以个名字为home的,类型为以太网卡,绑定网卡为eth1,开机自动启动,定义ipv4地址和网关

  1. [root@CentOS 7 ~]# nmcli connection add con-name home type ethernet ifname
  2. eth1 autoconnect yes ip4 10.1.252.60/24 gw4 10.1.0.254

[root@CentOS 7 ~]# nmcli connection up home

这样,home接口已经生效,可以正常使用。但同一时间只能绑定在一个接口上。平时如果工作需要,可以多设置几套配置文件,环境需要时可以进行临时的切换。

当不需要再用时可以使用:nmcli connection delete home删除

  1. [root@CentOS 7 ~]# nmcli connection delete home
  2. Connection 'home' (2443d6ec-f92e-4402-b15c-9eec15405852) successfully deleted.

修改连接设置

nmcli con mod“static” connection.autoconnect no

nmcli con mod “static” ipv4.dns 172.25.X.254

nmcli con mod “static” +ipv4.dns 8.8.8.8

nmcli con mod “static” -ipv4.dns 8.8.8.8

nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”

nmcli con mod “static” +ipv4.addresses 10.10.10.10/16

修改连接配置后,需要重新加载配置

nmcli con reload

nmcli con down “system eth0” 可被自动激活

nmcli con up “system eth0”

nmcli dev dis eth0 禁用网卡,访止被自动激活

iproute2替代net-tools对比

http://www.keread.com/info/blog/157-failed-to-restart-network-service-unit-network-service-failed-to-load-no-such-file-or-directory.html

Centos7/RHEL7等发行版里面已经使用iproute2替代了net-tools
net-tools访问和修改网络配置是通过procfs(/proc)和ioctl系统调用来完成的,而iproute2是通过netlink socket方式与内核通信;重要的是,iproute2发展一直很好:https://www.kernel.org/pub/linux/utils/net/iproute2/

下面是net-tools和iproute2的使用对比:

一、列出所有网络接口(包括没有激活的网卡)

1、使用net-tools:
$ ifconfig -a
2、使用iproute2:
$ ip link show

二、激活和关闭网卡

1、使用net-tools:
$ sudo ifconfig eth1 up
$ sudo ifconfig eth1 down
2、使用iproute2:
$ sudo ip link set down eth1
$ sudo ip link set up eth1

三、配置IPv4地址

1、使用net-tools:
$ sudo ifconfig eth1 10.0.0.1/24
2、使用iproute2:
$ sudo ip addr add 10.0.0.1/24 dev eth1
3、使用net-tools配置多IP:
$ sudo ifconfig eth0:1 192.168.10.10 netmask 255.255.255.0 up
$ sudo ifconfig eth0:2 192.168.10.15 netmask 255.255.255.0 up
4、使用iproute2配置多IP:
$ sudo ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1

四、查看eth0的IP地址

$sudo ip addr list dev eth0

五、移除网卡上的IPv4地址

1、使用net-tools:
$ sudo ifconfig eth1 0
2、使用iproute2:
$ sudo ip addr del 10.0.0.1/24 dev eth1

六、查看网卡上配置的IPv4地址

1、使用net-tools:
$ ifconfig eth1
2、使用iproute2:
$ ip addr show dev eth1
3、如果是网卡绑定了多IP的话,iproute2能显示所有的地址,而net-tools只能显示一个

七、配置IPv6地址

1、使用net-tools:
$ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64
$ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64
2、使用iproute2:
$ sudo ip -6 addr add 2002:0db5:0:f102::1/64 dev eth1
$ sudo ip -6 addr add 2003:0db5:0:f102::1/64 dev eth1

八、查看网卡上配置的IPv6地址

1、使用net-tools:
$ ifconfig eth1
2、使用iproute2:
$ ip -6 addr show dev eth1

九、移除网卡上的IPv6地址

1、使用net-tools:
$ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64
2、使用iproute2:
$ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1

十、更改网卡MAC地址

1、使用net-tools:
$ sudo ifconfig eth1 hw ether 08:00:27:75:2a:66
2、使用iproute2:
$ sudo ip link set dev eth1 address 08:00:27:75:2a:67

十一、查看路由表

1、使用net-tools:
$route -n
$ netstat -rn
2、使用iproute2:
$ ip route show

十二、添加修改默认路由

1、使用net-tools:
$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
2、使用iproute2:
$ sudo ip route add default via 192.168.1.2 dev eth0
$ sudo ip route replace default via 192.168.1.2 dev eth0

十三、添加和删除静态路由

1、使用net-tools:
$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
2、使用iproute2:
$ sudo ip route add default via 192.168.1.2 dev eth0
$ sudo ip route replace default via 192.168.1.2 dev eth0

十四、查看socket统计

1、使用net-tools:
$ netstat
$ netstat -l
2、使用iproute2:
$ ss
$ ss -l

十五、ARP表

1、使用net-tools:
$ arp -an
2、使用iproute2:
$ ip neigh

十六、添加和删除静态ARP

1、使用net-tools:
$ sudo arp -s 192.168.1.100 00:0c:29:c0:5a:ef
$ sudo arp -d 192.168.1.100
2、使用iproute2:
$ sudo ip neigh add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0
$ sudo ip neigh del 192.168.1.100 dev eth0

十七、添加、删除和查看多播地址

1、使用net-tools:
$ sudo ipmaddr add 33:44:00:00:00:01 dev eth0
$ sudo ipmaddr del 33:44:00:00:00:01 dev eth0
$ ipmaddr show dev eth0
$ netstat -g
2、使用iproute2:
$ sudo ip maddr add 33:44:00:00:00:01 dev eth0
$ sudo ip maddr del 33:44:00:00:00:01 dev eth0
$ ip maddr list dev eth0


local 2024年6月11日 11:11 收藏文档