linux如何配置网络设置_如何在Linux中配置网络

linux如何配置网络设置

将Linux计算机连接到网络非常简单,除非不是这样。 在本文中,我讨论了基于Red Hat的Linux发行版的主要网络配置文件,并介绍了两个网络启动服务:古老的网络启动和有争议的NetworkManager。

Linux可以轻松管理多个网络接口适配器。 笔记本电脑通常包括有线和无线接口,并且还可能支持用于蜂窝网络的WiMax接口。 Linux台式计算机还支持多个网络接口,您可以将Linux计算机用作多网络客户端或内部网络的路由器。 我自己的几个系统就是这种情况。

接口配置文件

每个网络接口在/ etc / sysconfig / network-scripts目录中都有自己的配置文件。 每个接口都有一个名为ifcfg- <interface-name> X的配置文件,其中X是接口的编号,根据所使用的命名约定从0或1开始。 例如, / etc / sysconfig / network-scripts / ifcfg-eth0用于第一个以太网接口。

/ etc / sysconfig / network-scripts目录中的其他大多数文件都是用于启动,停止和执行各种网络配置活动的脚本。

每个接口配置文件通过接口的MAC地址绑定到特定的物理网络接口。

网络接口命名约定

网络接口的命名约定曾经很简单,不复杂,而且我认为很容易。 使用ethX对我来说很有意义,并且易于键入。 它不需要额外的步骤即可确定接口的名称是什么长而晦涩。 不幸的是,添加新接口通常会强制重命名网络接口,这会破坏脚本和配置。 这一切已经改变了,不止一次。

在使用一些冗长且难以理解的网络接口名称进行简短说明后,我们现在有了第三组命名约定,这似乎仅稍好一点。 诸如ethX之类的名称仍被CentOS 6.x使用。 RHEL 7,CentOS 7和Fedora的最新版本使用了具有eno1enp0s3之类的最新命名约定。 RHEL 6和CentOS 6的接口命名约定在附录A中进行了描述。 Red Hat部署指南》中的一致的网络设备命名 。 RHEL 7,CentOS 7和Fedora的当前版本在《红帽网络指南》的第8章中描述。

配置文件示例

此示例网络接口配置文件ifcfg-eth0定义了CentOS 6服务器安装的静态IP地址配置。



   
   
# Intel Corporation 82566DC-2 Gigabit Network Connection
DEVICE=eth0
HWADDR=00:16:76:02:BA:DB
ONBOOT=yes
IPADDR=192.168.0.10
BROADCAST=192.168.0.255
NETMASK=255.255.255.0
NETWORK=192.168.0.0
SEARCH="example.com"
BOOTPROTO=static
GATEWAY=192.168.0.254
DNS1=192.168.0.254
DNS2=8.8.8.8
TYPE=Ethernet
USERCTL=no
IPV6INIT=no

该文件在引导时启动接口,为其分配静态IP地址,定义域和网络网关,指定两个DNS服务器,并且不允许非root用户启动和停止接口。

以下接口配置文件ifcfg-eno1提供了台式机工作站的DHCP配置。



   
   
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=eno1
UUID=a67804ff-177a-4efb-959d-c3f98ba0947e
ONBOOT=yes
HWADDR=E8:40:F2:3D:0E:A8
IPV6_PEERDNS=no
IPV6_PEERROUTES=no

在此第二个配置文件示例中,未定义DHCP条目,IP地址,搜索域和所有其他网络信息,因为它们是由DHCP服务器提供的。 像前面的静态配置示例一样,可以通过添加DNS1和DNS2行来在接口配置文件中覆盖DNS服务器之类的配置项。

请注意,第二个示例包含一个UUID行。 据我所确定,此行对配置文件的功能没有影响。 我通常将其注释掉,甚至将其删除,并且从未对我的网络造成有害影响。

在两个接口配置文件中,HWADDR线指定物理网络接口的MAC地址。 这会将物理接口绑定到接口配置文件。 如果更换接口,则必须在文件中更改MAC地址。

有几种方法可以找到NIC的MAC地址。 我通常使用ifconfig命令显示所有已安装的NIC,其MAC地址和各种统计信息。 许多新的NIC的MAC地址都印在包装盒上或标在NIC本身上。 但是,大多数接口配置文件是在安装期间自动生成的,或者在新安装后首次检测到NIC时会自动生成,并且MAC地址作为新接口配置文件的一部分包含在内。

ONBOOT行指定在启动时将激活接口。 如果将此行更改为“ no”,则必须手动或在用户登录后通过NetworkManager激活界面。

USERCTL行指定非特权用户无法管理该界面; 那就是他们不能打开和关闭它。 将此参数设置为“是”可以使普通用户激活和停用该界面。

请注意,接口配置文件中的行不是序列敏感的,并且可以按任何顺序正常工作。 按照约定,选项名称用大写字母表示,值用小写字母表示。 选项值可以用引号引起来,但这不是必须的,除非该值大于单个单词或数字。

配置选项

接口配置文件有许多配置选项。 这些是一些较常见的选项:

  • DEVICE:设备的逻辑名称,例如eth0或enp0s2。
  • HWADDR:绑定到文件的NIC的MAC地址,例如00:16:76:02:BA:DB
  • ONBOOT:主机启动时,在此设备上启动网络。 选项是/否。 通常将其设置为“ no”,并且直到用户登录到桌面后网络才启动。 如果您需要在没有人登录时启动网络,请将其设置为“是”。
  • IPADDR:分配给此NIC的IP地址,例如192.168.0.10
  • 广播:此网络的广播地址,例如192.168.0.255
  • NETMASK:此子网的网络掩码,例如C类掩码255.255.255.0
  • NETWORK:此子网的网络ID,例如C类ID 192.168.0.0
  • 搜索:在不合格的主机名(例如“ example.com”)上进行查找时要搜索的DNS域名
  • BOOTPROTO:此接口的启动协议。 选项为静态,DHCP,bootp,无。 “无”选项默认为静态。
  • 网关:此子网的网络路由器或默认网关,例如192.168.0.254
  • ETHTOOL_OPTS:此选项用于为网络接口设置特定的接口配置项,例如速度,双工状态和自动协商状态。 由于此选项具有多个独立的值,因此应将这些值括在一组引号中,例如:“自动关闭速度100双工已满”。
  • DNS1:主DNS服务器,例如192.168.0.254,它是本地网络上的服务器。 使用NetworkManager或将peerdns指令设置为yes时,此处指定的DNS服务器将添加到/etc/resolv.conf文件中,否则必须将DNS服务器手动添加到/etc/resolv.conf并在此处忽略。
  • DNS2:辅助DNS服务器,例如8.8.8.8,它是免费的Google DNS服务器之一。 请注意,虽然可能在非易失性resolv.conf文件中配置了第三个DNS服务器,但接口配置文件中不支持第三级DNS服务器。
  • TYPE:网络类型,通常是以太网。 我在这里看到的唯一其他值是令牌环,但现在几乎不相关。
  • PEERDNS:yes选项表示通过在此文件中插入由DNS1和DNS2选项指定的DNS服务器条目来修改/etc/resolv.conf 。 “否”表示不要更改resolv.conf文件。 在BOOTPROTO行中指定DHCP时,默认值为“是”。
  • USERCTL:指定非特权用户是否可以启动和停止此接口。 选项是/否。
  • IPV6INIT:指定是否将IPV6协议应用于此接口。 选项是/否。

如果指定了DHCP选项,则忽略其他大多数选项。 唯一需要的选项是BOOTPROTO,ONBOOT和HWADDR。 如果您想覆盖DHCP服务器提供的DNS条目,则可能会发现有用的其他选项(但不会被忽略)是DNS和PEERDNS选项。

不推荐使用的网络文件

您可能会遇到一个旧的但现在已弃用的文件。 对于Fedora,RHEL和CentOS的当前版本,网络文件通常仅包含一个注释行。 它位于/ etc / sysconfig中,过去曾用于启用或禁用网络。 如以下示例所示,它还用于设置网络主机名:



   
   
NETWORKING=yes
HOSTNAME=host.example.com

自发行版19起,此文件已经存在,但在Fedora中未使用过。它仍在RHEL / CentOS 6.x中使用,但在RHEL / CentOS 7.x中不再使用。 现在,在/ etc / hostname文件中设置了网络主机

其他网络文件

/ etc / sysconfig / network-files目录包含许多其他文件,所有这些文件通常都是可执行的BASH脚本,而不是配置文件。 至少对我来说,这是Linux Filesystem Hierarchical Standard(FHS)的一个令人烦恼的例外之一,该标准明确指出仅配置文件位于而不是/ etc树中。

您可能会在/ etc / sysconfig / network-files中找到的另一个网络配置文件是route- <interface>文件。 如果要在多宿主系统上设置静态路由,请为每个接口创建一个路由文件。 例如,以下文件名为route-eth0 ,并定义了该特定接口到网络和单个主机的路由。



   
   
default 192.168.2.1 dev eth0
10.10.10.0/24 via 192.168.0.1 dev eth0
192.168.1.0/24 via 192.168.0.1 dev eth0

192.168.96.11 via 192.168.97.1
192.168.15.100 via 192.168.15.32
192.168.96.12 via 192.168.97.1
192.168.97.100 via 192.168.97.1

除非您将主机用作具有某些复杂路由需求的路由器,否则很少使用此文件。 有关配置路由的更多详细信息,请参见适用于您的Red Hat Enterprise Linux或CentOS版本的网络指南

网络启动

随着无线网络和移动设备的出现,为每个新的无线网络重新配置网络接口变得既复杂又费时。 添加新的网络接口时,它也可能会产生命名冲突。

网络

在2004年之前,默认情况下,在基于Red Hat的发行版上都使用旧的网络服务来管理网络启动和停止任务。 SystemV启动脚本使用静态配置文件在启动时启动有线或无线网络,或者使用简单的命令(如命令行中的service network start命令)启动有线或无线网络。 尽管命令是通过systemd重定向的,但该服务仍然可用。

网络服务无法监视可插拔设备或更改无线网络,因此无法在笔记本电脑或上网本式计算机上轻松使用。

使用笔记本电脑配置有线网络,以及使用多个网络接口配置服务器或台式机也存在问题。 用多个网络接口替换主机中的有缺陷的接口时,由于在系统启动期间经常更改接口名称,因此遇到了问题。

网络管理员

红帽在2004年推出了NetworkManager,以简化和自动化网络配置和连接,尤其是无线连接。 目的是防止用户必须手动配置每个新的无线网络。 尽管它旨在使非技术用户更容易进行网络管理,但是由于许多熟悉的配置功能现在由新的配置文件和脚本层处理,因此需要Linux管理员进行一些调整。 这意味着每次重新启动网络(包括每次重新启动)时,NetworkManager都会覆盖标准配置文件。

udev守护程序是一个内核设备管理器,应该为所有设备(包括网络设备和可移动大容量存储设备)提供一致且持久的设备命名。 它还用于将网络设备名称(例如eth0eno1)与网络接口上的MAC地址进行匹配。

它是如何工作的

udev设备管理器可以检测到何时将新设备(例如新的网络接口)添加到系统中,并创建一个规则来标识和命名该设备(如果尚不存在)。 在最新版本的Fedora,CentOS和RHEL中,其工作方式的详细信息已更改。 《 RHEL 7网络指南》中详细描述了当前设备的命名过程,并描述了名称的派生方式。

当前的约定是使用接口配置文件的内容来生成规则。 但是,如果接口配置文件不存在,则插入新设备或连接新的无线网络会使udev通知NetworkManager有关新设备或无线连接的信息。 然后,NetworkManager将创建新的接口配置文件。
udev守护程序在网络规则文件中为每个网络接口创建一个条目。 NetworkManager使用这些条目以及/ etc / sysconfig / network-scripts /目录中的接口配置文件中的信息来初始化每个接口。

管理员的选择

可以使用较旧的网络服务并禁用NetworkManager。 有很多方法手册描述了如何禁用NetworkManager并返回使用网络服务的方法,包括此方法 ,因此在这里我将不再赘述。
我个人建议不要再使用较旧的网络服务,因为一旦了解了NetworkManager和udev如何共同为现有设备和新设备提供一致的命名方案和自动配置,所有这些都将变得很有意义,并使网络接口的管理更加容易。 在我看来,NetworkManager是两全其美的。

与Linux一样,由您决定使用哪种服务。

翻译自: https://opensource.com/life/16/6/how-configure-networking-linux

linux如何配置网络设置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值