一、以太网(Ethernet)

以太网(Ethernet)是一种计算机局域网技术。IEEE 组织的 IEEE 802.3 标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网标准如令牌环、FDDI 和 ARCNET。

以太网实现了网络上无线电系统多个节点发送信息的想法,每个节点必须通过电缆或者信道才能传送信息,有时也叫作以太(Ether)。(这个名字来源于 19 世纪的物理学家假设的电磁辐射媒体-光以太。后来的研究证明光以太不存在。) 每一个节点有全球唯一的 48 位地址也就是制造商分配给网卡的 MAC 地址,以保证以太网上所有节点能互相鉴别。由于以太网十分普遍,许多制造商把以太网卡直接集成进计算机主板。(该以太网部分引用自维基百科)

二、PCI(Peripheral Component Interconnect,外部组件互联标准)

或称 Personal Computer Interface(个人电脑接口),实际应用中简称为 PCI,是一种连接电脑主板和外部设备的总线标准。

一般 PCI 设备可分为以下两种形式:

  • 直接内置于主板上的集成电路,在 PCI 规范中称作 “嵌入设备”(planar device);或者
  • 安装在插槽上的扩充界面卡

PCI bus 常见于现代的个人电脑中,并已取代了 ISA 和 VESA 局部总线,成为了标准扩充总线。PCI总线亦常见于其他电脑类型中。PCI总线最终将被 PCI Express 和其他更先进的技术取代,这些技术现在已经被用于最新款的电脑中。

PCI 规范规定了该总线的物理尺寸(包括线宽)、电气特性、总线时序和协议。该规范可从美国 PCI-SIG 协会购得。

常见的 PCI 卡包括网卡、声卡、调制解调器、电视卡和硬盘控制器等,另外还有 USB 和串行端口等端口。原本显卡通常也是 PCI 设备,但很快其频宽已不足以支持显卡的性能。PCI 显卡现在仅用在需要额外的外接显示器或主板上没有 AGP 和 PCI Express 槽的情况。(该 PCI 部分引用自维基百科)

三、Linux的网络接口

Linux 的网络接口(interface)并不存在一定的命名规范,但都是有意义的:

  • eth0:一般用于以太网(Ethernet)接口,0 表示是第一块网卡
  • wifi0:wifi 是无线局域网,因此 wifi0 一般指无线网络接口
  • ath0:一般指 atheros 芯片所包含的无线网络接口
  • lo:local,一般指本地环回接口,是一种虚拟网络接口,基本每个 Linux 都有这个接口

虚拟网络接口并不真实地从外界接受和发送数据包,而是在系统内部接受和发送数据包,因此虚拟网络接口不需要驱动程序。

虚拟网络接口和真实的网络接口在使用上是一致的。

命令 lspci 可以显示当前主机的所有 PCI 总线信息,以及所有已连接的 PCI 设备信息。(如果是 usb 网卡,则可能需要使用 lsusb 命令)。

命令 ifconfig 用来查看网络接口信息:

ifconfig -a     查看所有接口
ifconfig eth0 查看特定接口

命令 ifup 、 ifdown 用来激活、禁用一个网络接口:

ifup eth0       激活eth0
ifdown eth0 禁用eth0

下面是我在 Vitual Box 里 CentOS 6.9 的一些硬件信息。

PCI 设备信息:

网络接口信息:

上图中网卡 eth0 的参数信息如下:

第 1 行      连接类型(Link encap):Ethernet(以太网);硬件地址(MAC地址):08:00:27:85:37:B4
第 2 行 IPv4 地址(inet addr)、子网(Bcast)、掩码(Mask)
第 3 行 IPv6 地址(inet6 addr)
第 4 行 UP:网卡已开启;RUNNING:网卡的网线已经被接上;MULTICAST:支持组播;MUT:最大传输量(单位,字节)
第 5、6 行 接收、发送数据包情况统计
第 8 行 接收、发送数据字节数统计

执行 ifconfig 命令后仅有 IPv6 而没有 IPv4 地址的解决办法:

1. 首先确保你的网卡已经激活(使用 ifup eth0 命令)

2. 使用 dhclient 命令来动态获取 IP,然后再次执行 ifconfig 命令即可看到 Ipv4 地址。

但是系统重启后会失效,永久生效的方法是:

1. 修改相应网卡的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0,将 ONBOOT 属性设置为 yes,

2. 再执行 service network restart 命令即可。用 ifconfig 命令就可以随时看到 eth0 的 IPv4 地址了。

激活、禁用接口:

四、配置网络信息

我在 VitualBox 中(桥接模式)对 CentOS 6.9 的静态 IP 配置如下。(请参考:CentOS下VMware用桥接模式,静态ip上外网

使用 setup 命令用类“图形化”界面设置 Linux,在终端输入 setup ,回车,进入交互界面。

选择网络配置 "NetWork configuration","Run Tool" 进入下一步。

选择硬件配置"Device configuration",回车进入下一步。

选择配置 eth0 网卡,回车。

上图中参数详解:

Name: 接口名
Device: 设备名
Use DHCP: 是否使用DHCP方式获取IP
(家用电脑一般是,服务器IP一般否、需要配置静态IP,DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)用于内部网络服务自动分配IP)
Static IP: 静态IP
Netmask: 子网掩码
Default gateway IP: 默认网关IP(与IP属同一网段)
Primary DNS Server: 主DNS服务器IP(不确定就填谷歌的8.8.8.8)
Secondary DNS Server: 备用DNS服务器IP
Peer DNS: 是否接受DHCP服务器指派的DNS服务器地址
On boot: 是否在引导时随网络服务的开启而激活(建议勾选[单击空格键],这样在网络服务重启时就不必手动激活网卡了)
Controlled by NetworkManager: 是否受图像化程序NetworkManager的控制。

配置网络参数如下:

配置完毕,后面基本都是确定保存下一步。"Ok" 下一步。

"Save" 进入下一步。

"Save&Quit" 进入下一步。

"Quit" 退出 setup 命令环境。

eth0 的网络参数配置完毕,最后重启网络服务 service network restart 即可。

测试成功:

五、网络配置相关文件

文件 路径
网卡eth0的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0
DNS配置文件 /etc/resolv.conf
网络配置文件 /etc/sysconfig/network
本地hosts文件 /etc/hosts

1. 网卡eth0的配置文件

/etc/sysconfig/network-scripts/ifcfg-eth0:

参数解释如下:

DEVICE:设备名
HWADDR:硬件地址(MAC地址)
TYPE:连接类型(譬如Ethernet,以太网)
UUID:设备标识号
ONBOOT:是否在引导时随网络服务的开启而激活(建议yes,这样在重启网络服务时就不必手动激活网卡了)
NM_COTROLLED:是否受图像化的程序NetworkManager控制
BOOTPROTO:启动协议(none|static|dhcp,static静态获取IP,dhcp动态获取IP)
USERCTL:是否允许普通用户控制此接口
PEERDNS:是否接受DHCP服务器指派的DNS服务器地址
IPV6INIT:是否支持IPv6
IPADDR:IPv4地址
NETMASK:子网掩码
GATEWAY:网关
DNS1、DNS2:俩DNS

  

2. DNS配置文件

/etc/resolv.conf:

一行一个DNS配置,这是我们刚才已经配过的两个DNS。

3.网络配置文件

/etc/sysconfig/network:

这个文件是服务器的一些网络配置,如主机名(HOSTNAME)、网关(GATEWAY)等等,详细请参考 /etc/sysconfig/network 文件

4.本地hosts文件

/etc/hosts:

六、网络测试命令

测试网络连通性:

ping 192.168.1.210
ping www.locallinux.com

测试 DNS 解析:

host www.locallinux.com
dig www.locallinux.com

显示路由表:

ip route

追踪到达目的地址过程中经过的网络路径:

traceroute www.locallinux.com

使用 mtr 命令进行网络质量测试(结合了 traceroute 和 ping ,会显示一个动态更新的路由表):

mtr www.locallinux.com

七、修改主机名

暂时性修改主机名

hostname www.localhost.com

永久性修改主机名

编辑网络配置文件 /etc/sysconfig/network

HOSTNAME=www.localhost.com

  

八、网络故障排查

网络故障排查遵循从底层到高层、从自身到外部的流程进行。

1. 首先检查网络配置是否正确:

IP地址
子网掩码
网关
DNS

2. 检查到达网关是否连通:

ping 网关IP

3. 检查DNS解析是否正常:

host www.locallinux.com
host www.cnblogs.com
host www.runoob.com

  

参考链接:

以太网 - 维基百科

外部组件互联设备(PCI)- 维基百科

linux网络接口之扫盲

解决linux使用ifconfig输出只用ipv6地址而没有ipv4地址的问题

RHEL7.0 系列-设置IP地址、网关和DNS

CentOS下VMware用桥接模式,静态ip上外网

Linux 入门记录:十五、Linux 网络基本配置的更多相关文章

  1. Linux 入门记录:五、vi、vim 编辑器

    一.vi.vim编辑器 vi 是一个命令行界面下的文本编辑工具,最早在 1976 年由 Bill Joy 开发.当时名字叫做 ex.vi 支持绝大多数操作系统(最早在类 Unix 操作系统的 BSD上 ...

  2. Linux学习之十五-Linux文件特殊权限和附加权限

    Linux文件特殊权限和附加权限 1.特殊权限suid 范围:只能针对二进制命令文件 作用:让普通用户拥有二进制命令文件所有者的权限 举例1:普通用户使用passwd命令修改密码 cat /etc/s ...

  3. linux 学习第十五天(vsftpd配置)

    一.vstapd配置 vsftpd 服务(a.匿名公开 b.系统本地账户验证c.虚拟专用用户验证) iptables -F  (清空防火墙) service iptables save  (保存防火墙 ...

  4. Linux 入门记录:二十、Linux 包管理工具 YUM

    一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...

  5. 无废话ExtJs 入门教程十五[员工信息表Demo:AddUser]

    无废话ExtJs 入门教程十五[员工信息表Demo:AddUser] extjs技术交流,欢迎加群(201926085) 前面我们共介绍过10种表单组件,这些组件是我们在开发过程中最经常用到的,所以一 ...

  6. Bootstrap入门(十五)组件9:面板组件

    Bootstrap入门(十五)组件9:面板组件 虽然不总是必须,但是某些时候你可能需要将某些 DOM 内容放到一个盒子里.对于这种情况,可以试试面板组件. 1.基本实例 2.带标题的面板 3.情景效果 ...

  7. MyBatis基础入门《十五》ResultMap子元素(collection)

    MyBatis基础入门<十五>ResultMap子元素(collection) 描述: 见<MyBatis基础入门<十四>ResultMap子元素(association ...

  8. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

  9. RabbitMQ入门教程(十五):普通集群和镜像集群

    原文:RabbitMQ入门教程(十五):普通集群和镜像集群 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.c ...

随机推荐

  1. html5 download all in one

    html5 download all in one HTML5 download & Fetch API & File API & Blob https://scarletsk ...

  2. [OS] 进程互斥

    对互斥的正确软件实现算法(面包店算法)是非常耗时的,现代的计算机系统都会提供简单的硬件指令,使用这些指令能够有效地解决临界区问题. 硬件提供一个TestAndSet指令,来实现原子指令的功能: boo ...

  3. 【Python】ORM框架SQLAlchemy的使用

    ORM和SQLAlchemy简介 对象关系映射(Object Relational Mapping,简称ORM),简单的来说,ORM是将数据库中的表与面向对象语言中的类建立了一种对应的关系.然后我们操 ...

  4. CSS3 transform rotate(旋转)锯齿/元素抖动模糊的解决办法

    使用CSS3 3D transforms,通过GPU来渲染,能有效的起到抗锯齿效果.只要在CSS3 transform属性中加入translateZ(0).例:-webkit-transform: r ...

  5. POJ2195:Going Home——题解

    http://poj.org/problem?id=2195 题目大意: 有些人和房子,一个人只能进一个房子,人走到房子的路程即为代价. 求所有人走到房子后的最小代价. ——————————————— ...

  6. BZOJ5157 & 洛谷3970:[TJOI2014]上升子序列——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5157 https://www.luogu.org/problemnew/show/P3970 给定 ...

  7. UOJ228:基础数据结构练习题——题解

    http://uoj.ac/problem/228 参考:https://www.cnblogs.com/ljh2000-jump/p/6357583.html 考虑当整个区间的最大值开方==最小值开 ...

  8. [Leetcode] sqrt 开根号

    Implementint sqrt(int x). Compute and return the square root of x. 题意:求根号下x 的值 思路:使用二分搜索.先定义x平方根的取值区 ...

  9. lnmp架构 实现lbs资料参考

    查找附近的xxx 球面距离以及Geohash方案探讨 http://www.wubiao.info/372 http://digdeeply.org/archives/06152067.html

  10. Coconuts HDU - 5925 二维离散化 自闭了

    TanBig, a friend of Mr. Frog, likes eating very much, so he always has dreams about eating. One day, ...