解决遇到Linux网络配置,从熟悉网络配置文件入手

如果接触过Linux,网络配置是一个比较棘手的问题。
但是Linux是文件为基础来构建的系统,包括我们windows中设备,Linux也视为文件。所以只要我们明白文件的作用。就能对Linux更加的熟悉,网络配置也是。所以为了熟悉和解决遇到Linux网络配置,首先从网络配置文件入手。
这里面整理和汇集较多资料,从多角度,多篇文章,希望能耐心看完。
一.简要概述
DNS配置文件
[[email protected] etc]# cat /etc/resolv.conf 
nameserver 210.36.16.33
nameserver 202.103.224.68
search localdomain
IP配置文件
[[email protected] etc]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:04:23:C4:9D:0C
IPADDR=192.168.2.86
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
网关
[[email protected] etc]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain                     //命令行显示的名字,如[[email protected] ~]#
GATEWAY=192.168.2.254                              //也可以放在ifcfg-eth0 
主机名
[[email protected] patches]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain   localhost

二详细介绍
在 linux 系统中, TCP/IP 网络是通过若干个文本文件进行配置的,需要编辑这些文件来完成联网工作。系统中重要的有关网络配置文件为:

◆ /etc/sysconfig/network
◆ /etc/HOSTNAME
◆ /etc/hosts
◆ /etc/services
◆ /etc/host.conf
◆ /etc/nsswitch.conf
◆ /etc/resolv.conf
◆ /etc/rc.d/init.d/network

接下来我们将对这些文件逐一讲述,这些文件都可以在系统运行时进行修改,不用启动或者停止任何守护程序,更改会立刻生效 ( 除了 /etc/sysconfig/network) 。另外,这些文件都支持由 "#" 开头的注释,每一个文件都有在 UNIX 手册页中的第 5 部分中有一项,可以用 man 命令来获取它们,如 man 5 hosts, man 5 services 。

◆ /etc/sysconfig/network   网络设置
  该文件用来指定服务器上的网络配置信息,包含了控制和网络有关的文件和守护程序的行为的参数。下面是一个例子文件:

NETWORKING=yes
HOSTNAME=machine1
GATEWAY=210.34.6.2
FORWARD_IPV4=yes
GATEWAYDEV=

其中, NETWORK=yes/no 表示网络是否被配置;
HOSTNAME=hostname hostname 表示服务器的主机名;
GATEWAY=gw-ip gw-ip 表示网络网关的 IP 地址;
FORWARD_IPV4=yes/no 是否开启 IP 转发功能;
GAREWAYDEV=gw-dev gw-dw 表示网关的设备名,如: eth0 等;
为了和老的一些软件相兼容, "/etc/HOSTNAME" 文件应该用和 HOSTNAME=hostname 相同的主机名。

◆ /etc/HOSTNAME   主机名

  该文件包含了系统的主机名称,包括完全的域名,如:

192.168.0.1 machine1.domain machine1

  这个文件是在启动时从文件 /etc/sysconfig/network 中的 HOSTNAME 行中得到的 ,用于在启动时设置系统的主机名。

◆ /etc/hosts   IP 地址和主机名的映射

   /etc/hosts 中包含了 IP 地址和主机名之间的映射,还包括主机名的别名, IP 地址的设计使计算机容易识别,但对于人却很难记住它们,为了解决这个问题,创建了 /etc/hosts 这个文件。下面是一个例子文件:

127.0.0.1 machine1 localhost.localdomain localhost
192.168.1.100 machine7
192.168.1.101 otherpc otheralias

  在这个例子中,本机名是 machine1 , otherpc 还有别名 otheralias ,它可以指向 otheralias 。。一旦配置完机器的网络配置文件,应该重新启动网络以使修改生效,使用下面的命令来重新启动网络:

/etc/rc.d/init.d/network restart

   /etc/hosts 文件通常含有主机名、 localhost 和系统管理员经常使用的系统别名,有时候 telnet 到 linux 机器要等待很长时间,可以通过在 "/etc/hosts" 加入客户的机器的 IP 地址和主机名的匹配项,就可以减少登录等待时间。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的 IP 地址,否则,其他的主机名通常使用 DNS 来解决, DNS 客户部分的配置在文件 /etc/resolv.conf 中。

◆ /etc/services  服务名和端口号之间的映射

   /etc/services 中包含了服务名和端口号之间的映射,不少的系统程序要使用这个文件,下面是 RedHat 安装时缺省的 /etc/services 中的前几行:

tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users

最左边一列是主机服务名,中间一列是端口号,” / “ 后面是端口类型,可以是 TCP 也可以是 UDP 。任何后面的列都是前面服务的别名。在这个文件中也存在着别名,它们出现在端口号后面,在上述例子中 sink 和 null都是 discard 服务的别名。

◆ /etc/host.conf 配置名字解析器

  有两个文件声明系统到哪里寻找名字信息来配置 UNIX 名字解析器的库。文件 /etc/host.conf 由版本 5 的 libc库所使用,而 /etc/nsswitch.conf 由版本 6 使用 (glibc ) 。问题在于一些程序使用其中一个,而一些使用另一个,所以将两个文件都配置正确是必要的。

   /etc/host.conf 文件指定如何解析主机名, linux 通过解析器库来获得主机名对应的 IP 地址。下面是 RedHat安装后缺省的 "/etc/host.conf" 内容:

order hosts,bind
multi on

※ "order " 指定主机名查询顺序,其参数为用逗号隔开的查找方法,支持的查找方法为 bind 、 hosts 和 nis ,分别代表 DNS 、 /etc/hosts 和 NIS ,这里规定先查询 "/etc/hosts" 文件然后再使用 DNS 来解析域名。
※ "trim" 表明当通过 DNS 进行地址到主机名的转换时,域名将从主机名中被裁剪掉, trim 可以被多个域包含多次,对 /etc/hosts 和 NIS 查询方法不起作用,注意在 /etc/hosts 和 NIS 表中主机名是被适当地 ( 有或没有全域名 )列出的。
※ "multi" 指定是否 "/etc/hosts" 文件中指定的主机可以有多个地址,值为 on 表示允许,拥有多个 IP 地址的主机一般称为具有多个网络界面。
※ "nospoof " 指是否允许对该服务器进行 IP 地址欺骗,值为 on 表示不允许, IP 欺骗是一种攻击系统安全的手段,通过把 IP 地址伪装成别的计算机,来取得其它计算机的信任。
※ "alert" 当 nospoof 指令为 on 时, alert 控制欺骗的企图是否用 syslog 工具进行记录,值为 on 表示使用,缺省值为 off 。
※ "rccorder" 如果被设置为 on ,所有的查询将被重新排序,所以在同一子网中的主机将首选被返回,缺省值为off 。

◆ /etc/nsswitch.conf 配置名字解析器

   /etc/nsswitch.conf 文件是由 S u n 公司开发并用于管理系统中多个配置文件查找的顺序,它比/etc/host.conf 文件提供了更多的功能。 /etc/nsswitch.conf 中的每一行或者是注释 ( 以 # 号开头 ) 或者是一个关键字后跟冒号和一系列要试用的有顺序的方法。每一个关键字是在 /etc/ 目录可以被 /etc/nsswitch.conf 控制的/etc 文件的名字。下面是可以被包含的关键字:

※ aliases 邮件别名;
※ passwd 系统用户;
※ group 用户组;
※ shadow 隐蔽口令;
※ hosts 主机名和 I P 地址;
※ networks 网络名和号;
※ protocols 网络协议;
※ services 端口号和服务名称;
※ ethers 以太网号;
※ rpc 远程进程调用的名称和号
※ netgroup 网内组

  下面也是可以包含的关键字:

※ files 除了 netgroup ,对其他关键字都有效。在相应的 /etc 文件中寻找记录
※ db 除了 netgroup ,对其他关键字都有效。在相应的 /var/db 数据库中寻找记录。对长文件很有效,如passwd 文件已经 超过 500 项。要从标准 /etc 文件中产生这些文件,应改变目录到 /var/db 并运行 run 命令
※ compat 兼容性模式,对 passwd 、 group 和 shadow 文件有效。在本模式中,将先在对应的 /etc 文件中查找。如果想进行 NIS 查找,需要第一个值 ( 用户名或组名 ) 为加号 ( + ) ,后面跟对应数量的冒号 ( : ) ( /etc/passwd 为 6 个, /etc/group 为 3 个,   /etc/shadow 为 8 个 ) 。如在 /etc/passwd 文件中,下面一行应被包含在文件尾: + : * : : : : :
※ dns 只对 hosts 有意义。像在 /etc/resolvconf 配置的,在 DNS 中进行查找
※ nis 对所有的关键字都有意义。如 NIS 是可以用的,在 NIS 服务器中查找
※ [ STATUS = action ] 控制名字服务的行为。 STATUS 是 SUCCESS( 操作被成功执行 ) 、 NOTFOUND ( 记录没找到 ) 、 UNAVAIL ( 所选择的服务不可用 ) 和 TRYAGAIN ( 服务暂时不可用,请重试 ) 中的一个。 action 是return ( 终止查找并返回当前状态 ) 或 continue ( 继续这一行的其他项 ) 中的一个。如 hosts: dns nis [NOTFOUND=return] files 将会首先在 DNS 中,然后在 NIS 中查找主机名。只有当前两项都不可用时才使用文件/etc/hosts

◆ /etc/resolv.conf 配置 DNS 客户

  文件 /etc/resolv.conf 配置 DNS 客户,它包含了主机的域名搜索顺序和 DNS 服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:

search mydom.edu.cn
nameserver 210.34.0.14
nameserver 210.34.0.2

  合法的参数及其意义如下:

※ nameserver 表明 DNS 服务器的 IP 地址。可以有很多行的 nameserver ,每一个带一个 I P 地址。在查询时就按 nameserver 在本文件中的顺序进行,且只有当第一个 nameserver 没有反应时才查询下面的 nameserver.
※ domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行 DNS 查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点 ( . ) 前面的内容。
※ search 它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由 search 声明的域中分别查找。 domain 和 search 不能共存;如果同时存在,后面出现的将会被使用。
※ sortlist 允许将得到域名结果进行特定的排序。它的参数为网络 / 掩码对,允许任意的排列顺序。 Red Hat 中没有提供缺省的 / e t c / r e s o l v. c o n f 文件,它的内容是根据在安装时给出的选项动态创建的。

◆ /etc/init.d/network 主机地址、子网掩码和网关

  不像很多其他的 UNIX 和 linux 操作系统, Red Hat 当前并不能自动地通过 /etc/hostname 和 /etc/hosts 文件来配置网络。为了改变主机缺省的 IP 地址,必须直接编辑 /etc/init.d/network 脚本使其反映正确的网络配置。这个文件包括了声明 IP 地址、掩码、网络、广播地址和缺省路由器的变量。下面是这个文件中相应的部分:

IPADDR=192.168.1.100
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1

时间: 2024-11-06 21:38:55

解决遇到Linux网络配置,从熟悉网络配置文件入手的相关文章

linux自学笔记--linux网络配置、基础网络命令

1.网络配置 /etc/sysconfig/net-script/ifcfg-* DEVICE:接口名 UUID:设备唯一标示 HWADDR:网卡地址 ONBOOT:是否开机自启 BOOTPROTO:static|none|dhcp TYPE:Ethernet|Bridge DNS1:dns地址 PEERDNS:如果为dhcp模式,是否自动分配dns地址,覆盖手动 IPADDR:ip地址 NETMASK:子网掩码 GATEWAY:网关地址 2.常用网络命令 ip: ip link show ip

网络配置之基本网络配置(cenos6)

目录: 关于IP的管理 Linux网卡的卸载与装载 配置网络接口 网络IP配置文件 路由管理 路由管理命令 配置动态路由(简介) route的配置文件 netstat命令 IP命令 ip link 查看网络设备配置 ip addr 设置或删除网络IP 网卡别名 设备别名 ip route 路由表的管理 ss命令 ss的常见用法 更改主机名 多网卡配置bonding Bonding bonding工作模式 bonding配置 删除bond0 关于IP的管理 Linux网卡的卸载与装载 接口命令方式

2018-4-17Linux系统管理(18)(19)网络配置命令及网络配置文件

在前面的章节当中我们讲述了计算网络通信的基础知识,介绍网络的拓扑结构类型及对于Linux来说的网络属性如何进行相关配置,而后有介绍了TCP/IP的协议栈,而这个协议栈是计算机真正使用的协议栈,以分层的概念将复杂问题进行切割,每层都有其相关的协议,都能够独立且相互调用可以协作完成.该协议栈共有四层,分别为物理层.互联网层.传输层及应用层进行组合.而对于底层来讲,作为运维的话我们无需掌握很多,不过我们也必须稍微进行一个了解,比如在互联网层中最为最重要的协议是IP协议,而在传输层中最为重要的协议为TC

Linux功能-配置网卡连接网络

本实验需要两台虚拟机来完成,环境如下: 主机名称 操作系统 ip地址 本地主机 RHEL7_64 192.168.157.128 远程主机 CentOS 64 192.168.129.128 如下图所示:

VMware网络配置 - 三种网络模式简介

安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍 选择虚拟机网络模 式方法如下,单击Edit virtual machine settings,如图所示: 然后在Hardware选项卡中选择Ethernet,在左边Network connection框架中有如下四个单选项: 1. Bridged(桥接模式) 在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的

Linux网络基本网络配置

Linux网络基本网络配置方法介绍 网络信息查看 设置网络地址: 1 cat /etc/sysconfig/network-scripts/ifcfg-eth0 你将会看到: 1 DEVICE=eth0 2 BOOTPROTO=statics 3 HWADDR=00:0C:29:13:D1:6F 4 ONBOOT=yes 5 TYPE=Ethernet 6 IPADDR=192.168.0.212 7 NETMASK=255.255.255.0 BOOTPROTO=statics :表示使用静太

Vmware vsphere 5.5之网络配置

文档目的: 此文档概述vmware vsphere 在安装完成后管理员网络配置,配置管理网络后我们可以通过vsphere client 或  vcenter 对此系统进行管理 操作步骤: 1.系统安装完成重启后,我们会看到下面界面,此时我们按F2 进入配置界面 2.按F2后提示我们要输入用户名和密码才能够进入配置模式,这里我们输入root用户的账号密码,默认的密码为 vmware,输入完成后按回车继续 3.在打开的新页面中我们使用键盘的上下移动键移动到 configure management

centos7 安装尝鲜网络配置

重点是4.网络配置 很多人网络都搞不来,这里上图了 时区设置 2. 分区设置--基本没啥好说的选择XFS 尝鲜 3.密码设置基本不用说 4.网络配置这个是关键 修改虚拟机配置文件添加ethernet0.virtualDev = "e1000"这样VMware的网卡就变成了Intel的1000M网卡了 6. [[email protected] ~]# ifconfigeno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>

oracle11g网络配置

网络连接:安装完成后,客户端和服务端都需要进行网络配置才能进行网络连接,服务端要配置监听器,客户端要配置网络服务名:服务端启动程序:如果客户端与服务端不在同一个主机上,要求启动监听器和数据库两个服务:如果在同一个主机上,启动数据库服务即可:网络配置的三个文件:listener.ora.sqlnet.ora.tnsnames.ora,位于oracle安装目录下的network目录下:客户端连接两种方式:一种是简单连接(客户端不需要任何设置).一种是本地命令(需要在tnsnames.ora中进行配置

Kali和Metasploitable2的网络配置

Kali和Metasploitable2的网络配置 1.Kali网络配置 1.1 配置网卡 修改/etc/network/interfaces auto eth0 #开机自动激活 iface eth0 inte static #静态IP address 192.168.1.68 #本机IP netmask 255.255.255.0 #子网掩码 gateway 192.168.1.1 #网关 1.2 设置DNS,修改/etc/resolv.conf nameserver 192.168.1.1