解决遇到Linux网络配置,从熟悉网络配置文件入手
如果接触过Linux,网络配置是一个比较棘手的问题。
但是Linux是文件为基础来构建的系统,包括我们windows中设备,Linux也视为文件。所以只要我们明白文件的作用。就能对Linux更加的熟悉,网络配置也是。所以为了熟悉和解决遇到Linux网络配置,首先从网络配置文件入手。
这里面整理和汇集较多资料,从多角度,多篇文章,希望能耐心看完。
一.简要概述
DNS配置文件
[root@localhost etc]# cat /etc/resolv.conf
nameserver 210.36.16.33
nameserver 202.103.224.68
search localdomain
IP配置文件
[root@localhost 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
网关
[root@localhost etc]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain //命令行显示的名字,如[root@localhost ~]#
GATEWAY=192.168.2.254 //也可以放在ifcfg-eth0
主机名
[root@localhost 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
解决遇到Linux网络配置,从熟悉网络配置文件入手的更多相关文章
- VMware网络配置三种网络模式(桥接、NAT、Host-only)
VMware网络配置三种网络模式(桥接.NAT.Host-only) 一.虚拟安装后三种网络模式显示 当安装好后,的“虚拟网络编辑器”中也存在三种模式,分别对应:桥接-VMnet0.Host-only ...
- Linux 安装配置 NET模式网络环境配置
1.下载linux:发行版 Ubuntu REdHat centos Debain Fedora,SUSE,OpenSUSEcentos 6.xcentos 7.x在虚拟机(VmWare)上 安装l ...
- 网络配置之基本网络配置(cenos6)
目录: 关于IP的管理 Linux网卡的卸载与装载 配置网络接口 网络IP配置文件路由管理 路由管理命令 配置动态路由(简介) route的配置文件netstat命令IP命令 ip link 查看网络 ...
- VMware网络配置 - 三种网络模式简介
安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍 选择虚拟机网络模 式方法如下 ...
- Linux网络基本网络配置
Linux网络基本网络配置方法介绍 网络信息查看 设置网络地址: cat /etc/sysconfig/network-scripts/ifcfg-eth0 你将会看到: DEVICE=eth0 BO ...
- 【转】Linux - CentOS 7网络配置
Linux - CentOS 7网络配置 https://blog.csdn.net/J080624/article/details/78083988 安装完VM后,需要进行网络配置.第一个目标为 ...
- linux网络管理----Linux网络配置
1.1 linux配置IP地址 1️⃣ ifconfig命令临时配置IP地址 能不能自动获取IP地址和DNS地址,要看有没有DHCP服务器 win10上,输入ipconfig /all 会看到是否有D ...
- Linux命令(七)——网络配置和网络通信
在使用网络前,需要对linux主机进行基本的网络配置,配置后可以使该主机能够同其他主机进行正常的通信. 一.网络配置 1.ifcfg-ethn网络配置文件 所有的网络接口配置文件均存放在/etc/sy ...
- Linux 笔记 - 第十三章 Linux 系统日常管理之(四)Linux 中 rsync 工具和网络配置
博客地址:http://www.moonxy.com 一.前言 rsync 命令是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件,可以理解为 remote sync(远程同步) ...
- linux网络配置详解
一:相关网络配置的文件 1.网卡名配置相关文件 网卡名命名规则文件: /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x8086:0x1 ...
随机推荐
- 【Python】 简易实现接口测试自动化
实现思路 使用excel管理用例用例信息,requests模块发送http请求,实现了记录日志,邮件发送测试报告的功能 目录结构如下: 下面直接上代码: 统筹脚本 # -*- coding:utf-8 ...
- 新东方雅思词汇---9.1、sist
新东方雅思词汇---9.1.sist 一.总结 一句话总结: 站 resist 英 [rɪ'zɪst] 美 [rɪ'zɪst] vi. 抵抗,抗拒:忍耐 vt. 抵抗:忍耐,忍住 n. [助剂] ...
- Java循环结构 - for, while 及 do...while
Java循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whil ...
- MS SQL2008执行大脚本文件时,提示“内存不足”的解决办法
问题描述: 当客户服务器不允许直接备份时,往往通过导出数据库脚本的方式来部署-还原数据库, 但是当数据库导出脚本很大,用Microsoft SQL Server Management Studio执行 ...
- ubuntu 14.04 解决apt-get update报错
apt-get update 报如下错误: 忽略 http://cn.archive.ubuntu.com trusty-backports/multiverse Translation-zh 忽略 ...
- 5.彻底理解volatile
1. volatile简介 在上一篇文章中我们深入理解了java关键字synchronized,我们知道在java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其 ...
- torch 深度学习 (2)
torch 深度学习 (2) torch ConvNet 前面我们完成了数据的下载和预处理,接下来就该搭建网络模型了,CNN网络的东西可以参考博主 zouxy09的系列文章Deep Learning ...
- 在Hibernate中使用原生SQL语句
使用原生SQL查询必须注意:程序必须选出所有的数据列才可被转换成持久化实体.假设实体在映射时有一个<many-to-one../>的关联指向另外一个实体,则SQL查询中必须返回该<m ...
- yii2手动添加图片处理插件Imagine
1.首先从官网下载yii2-imagine的拓展 下载地址:https://github.com/yiisoft/yii2-imagine 下载包名称:yii2-imagine-master 2.然后 ...
- IOS加载PDF文件
今天的任务是:在iOS上加载显示pdf文件. 方法一:利用webview -(void)loadDocument:(NSString *)documentName inView:(UIWebView ...