Linux操作系统-网络管理
在Linux操作系统中,网络管理是一个非常重要的任务,涉及到配置、监控和维护网络连接。Linux提供了多种工具和命令行接口来帮助管理员管理网络。
一、IP地址配置
配置linux操作系统IP地址主要有以下方式:
1. ifconfig命令配置IP地址
ifconfig命令用于配置和显示Linux内核中网络接口的网络参数。
ifconfig ens33 192.168.32.132 netmask 255.255.255.0 配置IP地址和子网掩码
ifconfig ens33 up 启动网卡

2. ip命令配置IP地址
命令ip命令是ifconfig的现代替代品,提供了更多的功能和灵活性。
ip addr add 192.168.1.10/24 dev ens36 添加IP地址和子网掩码
ip link set dev ens36 up 启动网卡

注意:以上两种方式配置IP地址都是临时生效的,一旦重启操作系统,配置的IP信息回丢失,一般用于临时测试,下面介绍两种永久有效的配置方法:
3.nmcli命令配置IP地址
nmcli是NetworkManager的管理命令,通过nmcli将配置网络信息可以永久生效。
nmcli connection show
nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.32.155/24 ipv4.gateway 192.168.32.254 ipv4.dns "8.8.8.8" ipv4.method manual autoconnect yes
nmcli connection up "Wired connection 1"

4.修改网卡配置文件进行网络信息配置
Linux服务器网卡默认配置文件在/etc/sysconfig/network-scripts/,配置文件名称是ifcfg-xxx,xxx因操作系统版本而异,如centos 6 一般是eth0,eth1,eth2 ...... ,centos 7 可能是ens33,ens34,......。
配置静态地址:
DEVICE="ens33"
NAE="ens33"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR="192.168.32.134"
NETMASK="255.255.255.0"
GATEWAY="192.168.32.1"
网卡配置文件各字段解释:
DEVICE="ens33" #物理设备名
ONBOOT="yes" # [yes|no](重启网卡是否激活网卡设备)
BOOTPROTO="static" #[none|static|dhcp](不使用协议|静态分配|DHCP协议)TYPE="Ethernet" #网卡类型IPADDR="192.168.32.134" #IP地址
NETMASK="255.255.255.0" #子网掩码
GATEWAY="192.168.32.1" #网关地址
配置文件修改并保存后需要重启网络服务才能生效。
systemctl restart network.service
systemctl status network.service
二、配置DNS服务器
DNS解析默认配置文件为/etc/resolv.conf
vim /etc/resolv.conf
servername 114.114.114.114 #指定域名解析服务器114.114.114.114
也可以在网卡配置文件中指定dns服务器 ,具体配置方法如下
vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1="114.114.114.114"
DNS2="8.8.8.8"
DNS配置完成后立刻生效。
注意:如果网卡配置文件中指定通过dhcp获取IP地址,则/etc/resolv.conf中手动指定的dns服务器会被覆盖掉。所以当使用dhcp时,需要在网卡配置文件中添加PEERDNS="no",这样指定的dns就不会被覆盖了。
三、路由配置
路由就是数据包传输的路径,路由是否配置正确决定了网络是否能够连通,因此正确配置网络路由对通信尤为重要。
1.查看路由表
可以使用route -n或netstat -r 查看linux系统的路由表

2.添加路由表
1)通过route命令添加静态路由
route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.32.2 dev ens33
route add default gw 192.168.32.2 dev ens33 # 添加默认路由

2)通过ip route添加静态路由
ip route add 192.168.100.0/24 via 192.168.32.2 dev ens33 # 添加到指定网段的路由(通过网关)
ip route add default via 192.168.32.2 dev ens33 # 添加默认路由
3)删除静态路由
route命令方式:
route del -net 192.168.100.0 netmask 255.255.255.0
route del default gw 192.168.32.2ip route命令方式:
ip route del 192.168.32.0/24 # 删除指定路由
ip route del default # 删除默认路由

以上配置路由的方式都是临时的,服务器重启将会导致路由丢失,影响网络通信。
3.路由配置永久生效
下面将通过添加网络配置文件的方式使得配置永久有效。
将路由按:#any net 目标网段 netmask 子网掩码 gw 网关 dev 出接口 格式写入/etc/sysconfig/static-routes文件(如果文件不存在新建即可)
vim /etc/sysconfig/static-routes
any net 192.168.100.0 netmask 255.255.255.0 gw 192.168.32.2 dev ens33
配置完成后重启网络服务即可看到新增的路由,重启服务器后路由依然存在。
systemctl restart network

4.双网卡配置
一台服务器server1有两块网卡ens33和ens66,有这样的一个需求:server1到目标网段:172.16.100.0/24走ens36网卡,其他流量走ens33网卡,这个需求如何实现呢?

实现这个需求的配置如下:
配置默认路由:
route add default gw 192.168.32.1 dev ens33
配置明细路由:
route add -net 172.16.100.0/24 gw 10.10.10.1 dev ens36
永久生效配置方式参考“3.路由配置永久生效”。
5.策略路由
有这样一个需求,一台服务器server1有两个网卡ens33和ens36,分别对外提供服务,此处假设两个网卡分别连接电信网络和联通网络,从电信网络来访问的流量需要由ens33网卡返回响应,从联通网络来访问的流量需要由ens36网卡返回响应,因为电信网段和联通网段无法确定,这种场景如何配置server1来实现呢?

上述需求可以通过策略路由来实现,即通过匹配策略规则进行路由转发。
路由表的信息可以通过/etc/iproute2/rt_tables 文件查看

如果需要新增路由表,可以直接编辑此文件,为了实现双默认路由,我们需要新增两个路由表供后面配置策略路由使用。

添加策略规则:
ip route flush table telecom
ip route add default via 192.168.32.2 dev ens33 src 192.168.32.132 table telecom
ip rule add from 192.168.32.132 table telecom
ip route flush table unicom
ip route add default via 10.10.10.1 dev ens36 src 10.10.10.100 table unicom
ip rule add from 10.10.10.100 table unicom

查看路由表
[root@centos7-test ~]# ip route show table 100
default via 192.168.32.2 dev ens33 src 192.168.32.132
[root@centos7-test ~]# ip route show table 200
default via 10.10.10.1 dev ens36 src 10.10.10.100
四、常用网络管理命令
1. netstat
netstat`命令用于显示网络连接、路由表、接口统计等信息。它可以帮助你查看哪些端口正在监听,哪些连接是活跃的等。
netstat -tulnp 显示所有监听中的TCP和UDP端口
2. ss 命令
ss是另一个用于检查套接字(socket)的工具,它是netstat的更快替代品。
ss -tuln 显示所有监听中的TCP和UDP端口
3. nmcli (NetworkManager CLI)
如果你使用的是NetworkManager来管理网络,nmcli是一个非常有用的命令行工具。
nmcli device wifi list 列出可用的WiFi网络
nmcli device wifi connect "SSID" password "password" 连接到WiFi网络
4. traceroute 和 tracepath
这些命令用于追踪数据包到目标主机的路径,帮助诊断网络问题。
traceroute google.com 使用traceroute追踪到google.com的路径
tracepath google.com 使用tracepath(如果可用)追踪到google.com的路径
5. iptables 和 firewalld
对于防火墙管理,可以使用iptables或firewalld。iptables是较老的工具,而firewalld是较新的、更易于使用的工具。
iptables -L 列出iptables规则
firewall-cmd --list-all 列出firewalld的规则(如果使用firewalld)
6. ethtool
ethtool用于查询和控制网络驱动和硬件设置。
ethtool eth0 显示eth0的网络驱动信息.
7.ip addr show
查看服务器ip地址配置.
8.route -n
查看路由表.
9.systemctl start/stop/restart/status network
启动、停止、重启网络服务,status:查看网络状态.
10.nslookup
查看域名解析:lookup www.baidu.com.
11.ping
用于检测源与目标的连通性.
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)