Linux网络设置

Linux网络设置

一,查看及测试网络

        1:查看网络配置

                1.查看网络接口地址

主机的网络接口卡(网卡)通常称为网络接口。在 Linux 操作系统中,使用 ifconfig 命令可以查看网络接口的地址配置信息(Interface Configuration)。

                        (1):查看活动的网络接口设备

若采用 mini 版 CentOS7 安装的系统,默认是没有 ifconfig 命令的,需要先通过 yum方式安装 net-tools 软件包,才有 ifconfig 命令。在不带任何选项和参数执行 ifconfig 命令时,将显示当前主机中已启用(活动)的网络接口信息。例如,直接执行ifconfg 命令后可以看到 ens33、lo 这两个网络接口的信息,具体操作如下:

                        (2):查看指定的网络接口信息

当只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig 命令的参数(不论该网络接口是否处于激活状态)。例如,执行“ifconfig ens33"命令后可以只查看网卡 ens33 的配置信息,具体操作如下:

[root@localhost ~]# ifconfig ens33
ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
      inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.4.255
      inet6 fe80::9106:d38b:670d:1a89 prefixlen 64 scopeid 0x20<link>
      ether 00:0c:29:3a:81:cc txqueuelen 1000 (Ethernet)
      RX packets 4625 bytes 428860(418.8 KiB)
      RX errors0 dropped0 overruns0 frame 0
      TX packets 2302 bytes 344920 (336.8 KiB)
      TX errors0 dropped 0overruns 0 carrier0 collisions 0

                2.查看主机名称

2. 查看主机名称

在Linux环境中,主机名是标识系统在网络中的唯一名称。要查看当前系统配置的主机名,可以通过以下几种方式:

  • 使用hostname命令: 最简单直接的方法是使用hostname命令,无需任何参数。它会立即打印出当前系统的主机名。

hostname
  
  • 查看/读取/etc/hostname文件: 另一种方法是直接查看/etc/hostname文件的内容,这个文件存储着系统的基本主机名。

  cat /etc/hostname
  

这两个方法都能迅速提供系统当前的主机名信息。

                3.查看路由表条目

路由表在Linux系统中扮演着决定数据包如何转发到目标网络的关键角色。查看路由表条目可以帮助理解系统如何做出路由决策。使用ip route命令(或其别名ip route show)可以获取路由表的详细信息:

  • 基本查看

  ip route show
  

这将显示所有路由条目,包括目标网络、通过的接口(如eth0)、网关地址、路由的优先级(metric)等。

  • 更详细信息: 如果需要查看特定路由的更多细节,可以通过增加相应的选项来实现,例如查看特定接口的路由:

  ip route show dev eth0
  

这将只显示通过eth0接口的路由条目。

                4.查看网络连接情况

查看当前系统中所有的网络连接(包括TCP、UDP的监听端口和服务),可以使用ss命令,它是netstat的现代替代品,提供了更高效的信息检索方式:

ss -tulwnp
  • -t 表示显示TCP连接。
  • -u 表示显示UDP连接。
  • -l 显示监听(listen)状态的套接字(即服务端口)。
  • -w 显示RAW套接字信息(在某些系统上可能不需要)。
  • -n 不进行DNS解析,直接显示IP和端口号。
  • -p 显示建立连接的进程PID和名称(需要root权限)。

如果您的系统中没有安装ss命令,可以尝试使用传统的netstat命令,但请注意netstat在一些较新的Linux发行版中已被废弃,推荐使用ss

sudo netstat -tulpn

这将提供类似的信息,展示所有活跃的网络连接及其对应的进程信息。请确保具有足够的权限执行上述命令,以避免因权限不足而看不到某些进程信息。

        2:测试网络连接

1. 测试网络连通性

要检查与远程主机或服务的网络连通性,最常用的命令是ping。它通过发送ICMP回显请求报文并等待响应来判断目标是否可达。

  • 基本使用

  ping [destination]
  

例如,测试与Google的连通性:

  ping google.com
  
  • 限制发送的回显请求数量

    如果只想发送一定数量的回显请求,可以使用-c参数指定次数。

  ping -c 4 google.com
  

上述命令会向google.com发送4个数据包并显示统计信息。

2. 跟踪数据包的路由途径

traceroute(或在某些Linux发行版中为tracepath)命令用于追踪数据包从源到目的地经过的路由器(或称为“跃点”)的路径。它通过递增TTL(生存时间)值来实现,从而观察数据包在到达最终目的地之前经过的每一跳。

  • 使用traceroute

  traceroute google.com
  

这将显示出数据包到达google.com所经过的每个路由器及其往返时间。

  • 注意: 根据Linux发行版的不同,可能需要使用tracepath代替traceroute,两者功能相似但输出格式可能有所差异。
3. 测试DNS域名解析

DNS(域名系统)负责将人类可读的域名转换为IP地址。测试DNS域名解析通常涉及查询域名服务器以确认域名能否正确解析为IP地址。

  • 使用nslookup

  nslookup [domain_name]
  

例如:

  nslookup example.com
  

这将显示域名对应的IP地址以及其他DNS记录信息。

  • 使用dig命令

    dig(Domain Information Groper)是另一个强大的DNS查询工具,提供了比nslookup更详细的信息。

  dig [domain_name]
  

例如:

  dig example.com
  

dig命令的输出包括但不限于域名的A记录(IPv4地址)、AAAA记录(IPv6地址)、MX记录(邮件交换服务器)等。

二,设置网络地址参数

        1:使用网络配置命令

                1.修改网卡的地址,状态

(1)修改网卡的IP地址,子网掩码

使用ip命令动态修改网卡的IP地址和子网掩码是最常见的方式。例如,要将网卡eth0的IP地址设置为192.168.1.10,子网掩码为255.255.255.0(或简写为/24),可以执行以下命令:

sudo ip addr change 192.168.1.10/24 dev eth0
(2)禁用,激活网络接口
  • 禁用网络接口:当需要暂时关闭某个网络接口时,可以使用:
sudo ip link set eth0 down
  • 激活网络接口:要重新启用该接口,执行:
sudo ip link set eth0 up

这里,eth0是网络接口的名称,根据实际情况替换。

(3)为网卡绑定虚拟接口

虚拟接口(也称作子接口或别名接口)允许在一个物理接口上设置多个逻辑接口,每个具有独立的IP地址。创建虚拟接口通常用于多IP地址配置场景。以下是如何为eth0创建一个名为eth0:1的虚拟接口,并为其分配IP地址的步骤:

sudo ip addr add 192.168.1.11/24 dev eth0 label eth0:1

在这个例子中,192.168.1.11/24是分配给虚拟接口的IP地址,eth0:1是虚拟接口的名称。

注意:上述命令均为即时生效的命令,不会永久保存配置。若需永久更改,需要编辑相应网络配置文件,比如在Debian/Ubuntu系统中是/etc/network/interfaces,而在RHEL/CentOS系统中则是/etc/sysconfig/network-scripts/ifcfg-eth0(或相应虚拟接口的配置文件,如ifcfg-eth0:1)。此外,对于使用NetworkManager的系统,可能需要通过NetworkManager的配置或GUI来进行设置。

                2.添加,删除静态路由记录

(1)添加,删除到指定网段的路由记录
  • 添加路由记录:如果你想要添加一条通往特定网段(例如,192.168.2.0/24)的路由,且数据包应该通过网关192.168.1.254转发,可以使用如下命令:

  sudo ip route add 192.168.2.0/24 via 192.168.1.254
  
  • 删除路由记录:相反,如果需要删除这一特定网段的路由记录,命令为:

  sudo ip route del 192.168.2.0/24
  
(2)添加,删除默认网关记录

默认网关是系统不知道如何直接到达的目标网络的出口点。

  • 添加默认网关:要添加一条默认网关记录,假设默认网关的IP地址为192.168.1.1,命令为:

  sudo ip route add default via 192.168.1.1
  
  • 删除默认网关:如果需要删除已设置的默认网关,使用:

  sudo ip route del default
  

重要提示:以上命令均会立即生效,但这些更改不是持久化的,系统重启后会丢失。为了使这些路由配置永久生效,你需要编辑相应的网络配置文件,这通常位于/etc/sysconfig/network-scripts/目录下(针对RHEL/CentOS等系统)或使用NetworkManager等网络管理工具进行配置。

                3.修改主机的名称

在Linux系统中,修改主机名称可以通过临时修改和永久修改两种方式进行。下面分别介绍这两种方法:

临时修改主机名称

你可以使用hostname命令来临时更改主机名,但请注意,这种更改会在系统重启后失效。

hostname 新主机名

永久修改主机名称

为了确保主机名在系统重启后仍然保持变更,你需要修改系统配置文件。具体的文件依据你的Linux发行版有所不同:

对于Systemd系统(如Ubuntu 16.04及以上版本,Fedora, CentOS 7及以上版本等):
  1. 修改主机名:使用hostnamectl命令永久设置主机名:
sudo hostnamectl set-hostname 新主机名
  1. 验证更改:可以使用以下命令查看新的主机名设置:
hostnamectl
对于SysVinit系统(如CentOS 6及以前版本,Debian 7及以前版本等):
  1. 直接修改hostname文件:编辑/etc/hostname文件,将文件中的内容替换为新的主机名:
sudo nano /etc/hostname
  1. 更新hosts文件:同时,你可能需要在/etc/hosts文件中更新主机名对应的IP地址条目,确保本地解析正常:
sudo nano /etc/hosts

hosts文件中,你可能会看到类似于下面的条目,确保第一列的IP地址与你的网络环境匹配,第二列是新主机名:

127.0.0.1       localhost 新主机名
  1. 重启系统或服务:在某些情况下,可能需要重启系统或相关服务来使更改生效。虽然并非总是必要,但重启是确保所有系统层面都识别新主机名的最保险方法:
sudo reboot

或仅重启网络服务(取决于你的系统使用的网络管理工具,可能是network, network-manager, 或 systemd-networkd服务之一):

sudo systemctl restart networking
# 或者
sudo service networking restart
# 对于使用systemd的系统
sudo systemctl restart systemd-hostnamed

        2:修改网络配置文件

1. 网络接口配置文件

对于使用传统网络管理工具(如ifup/ifdown)的系统(如CentOS 6及以前版本,Debian 7及以前版本等):

  • 位置/etc/network/interfaces(Debian/Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-ethX(RHEL/CentOS)。

  • 修改:编辑对应接口配置文件,如ifcfg-eth0,可以设置IP地址、子网掩码、网关、DNS等。

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

示例内容:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

对于使用Systemd的系统(如CentOS 7及以上,Ubuntu 16.04及以上等):

  • 位置:网络配置可能在/etc/systemd/network/目录下,或者通过NetworkManager的配置。
2. 启用,禁用网络接口配置
  • 在传统配置中,通过在接口配置文件中设置ONBOOT=yesONBOOT=no来启用或禁用接口自动启动。
  • Systemd系统中,可以通过systemctl命令或NetworkManager来管理服务状态。
3. 主机名称配置文件
  • 位置/etc/hostname

  • 修改:直接编辑此文件,输入新的主机名。

sudo nano /etc/hostname
4. 域名解析配置文件
  • 位置/etc/resolv.conf(动态管理,手动修改可能不持久)。

  • 指定DNS服务器:直接在文件中添加或修改nameserver行。

nameserver 8.8.8.8
nameserver 8.8.4.4

对于Systemd-resolved服务(很多现代Linux系统采用),可能需要编辑/etc/systemd/resolved.conf

  • 本机主机映射文件

    位置/etc/hosts

    修改:在此文件中添加或修改IP地址与主机名的映射关系。

127.0.0.1   localhost
192.168.1.10 myhostname

注意:修改这些配置文件后,可能需要重启网络服务或整个系统,或者使用特定命令(如systemctl restart network.servicesystemctl restart NetworkManager.service)来应用更改。具体操作根据系统和服务而定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值