Linux基础入门之网络属性配置

摘要

Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制。

Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,如果在同一网络内,那么可以通过ARP广播机制得到对方mac地址后就可以进行通信的,如果不是本地网络内就必须将数据报文封装后一层一层的经由网关路由进行转发。无论目标是哪的一般而言只要是非本地网络内的主机的通信我们都是交给一个默认网关,事实上做为一个末端节点主机我们除了配置默认网关之外还可以配置静态路由等

除了上面的两个最根本的IP、子网掩码外我们还需要配置

1、路由信息(包括主机路由、网络路由、默认网关),路由信息的生成方式有:静态路由、动态学习(RIP2、OSPF)。

2、DNS服务器(在Windows上DNS服务器一个主的一个备的,在Linux上可以设置多个(当DNS服务器大于1的时候,并不是我们需要解析一个网站第一个不能解析就换第二个来解析的,而是当第一个DNS服务器不能用的时候才会启用第二个DNS服务器的))。

3、主机名

上面这些信息在Linux系统上配置的方式有两种的:1、静态方式(手动配置,配置信息写到配置文件里)。2、动态配置(Dynamic Host Configuration Protocol(DHCP))


IP相关信息配置:

用户空间工具:ifconfig(net-tools包)、ip(iproute2包)

网络属性服务配置文件:/etc/sysconfig/network-scripts/*

主机名称配置文件:/etc/resolv.conf

GUI/TUI:

网络设备的配置方式:

内核识别硬件设备是靠驱动实现的,因此一般而言在一个内核中它所识别的每一个硬件名称都是驱动程序名,内核表示硬件名就是驱动名,但是驱动名都是硬件厂商给出的,各个厂商有各个厂商的命名规则和方法,所以如果用每个驱动名来标明网络设备那就繁杂了甚至导致大家根本不知道哪个是网络设备了,为了避免这种情况,他们就使用了统一的名称,不论是什么芯片、不论是什么厂商的硬件都给同类硬件取一个统一的名称,所以驱动程序是内核识别硬件的方式,而我们做为系统管理员去识别硬件设备是靠设备的别名(通常叫法就是设备的名称),一般在CentOS5 CentOS6上我们的以太网网卡设备的命名都是eth开头#(eth0 eth1... ...)、如果是PPP网络设备(例如ADSL拨号)就是PPP#、本地回环接口loopback名称是lo。(注意:在CentOS7上这边命名是有变化的)

ifconfig命令的使用:

ifconfig:默认返回的信息是已激活状态的接口信息(有连接已启用的接口)。

-a:显示所有接口信息

ifconfig 接口名(INTERFACE NAME):只显示指定接口的信息。

ifconfig IFNAME ADDRESS:配置网络地址 (地址的格式是:IP/NETMASK(NETMASK长短格式都可以))

长格式:ifconfig IFNAME IP netmask MASK

例子:ifconfig eth0 172.16.6.100 netmask 255.255.0.0

短格式(CIDR格式):ifconfig IFNAME IP/MASK

例子:ifconfig eth0 172.16.6.100/16

route命令的使用:

route:默认是显示本机上的路由信息

-n:在显示路由信息的时候显示为ip地址格式的信息(如果不使用-n选项route命令会把每个ip反解到对应的主机名,然后显示主机名)

route add:添加路由

-host:目标为主机

route add -host HOST_IP gw NEXT_HOP [dev DEVICE]

-net:目标为网络

route add -net NET_ADDRESS gw NEXT_HOP [dev DEVICE]

指定默认网关简要写法:route add default gw GW_ADDRESS

route del:删除路由

route del -host HOST_IP 删除主机路由

route del -net NET_ADDRESS 删除网络地址

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@Legion100 ~]# route add -host 172.16.6.110 gw 172.16.41.252
[root@Legion100 ~]# route add -net 10.0.0.0/8 gw 172.16.41.252 dev eth1
[root@Legion100 ~]# route add -net 10.0.0.0/8 gw 172.16.41.252 dev eth0
[root@Legion100 ~]# route add -net 0.0.0.0 gw 172.16.41.252 dev eth0
[root@Legion100 ~]# route add -net default gw 172.16.41.252 dev eth1
[root@Legion100 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.6.110    172.16.41.252   255.255.255.255 UGH   0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
10.0.0.0        172.16.41.252   255.0.0.0       UG    0      0        0 eth0
10.0.0.0        172.16.41.252   255.0.0.0       UG    0      0        0 eth1
0.0.0.0         172.16.41.252   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         172.16.41.252   0.0.0.0         UG    0      0        0 eth1
[root@Legion100 ~]# route del -host 172.16.6.110
[root@Legion100 ~]# route del -net 10.0.0.0/8 dev eth1
[root@Legion100 ~]# route del -net 10.0.0.0/8 dev eth0
[root@Legion100 ~]# route del -net default dev eth1
[root@Legion100 ~]# route del -net 0.0.0.0
[root@Legion100 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
[root@Legion100 ~]#

DNS服务器地址配置:

本地解析:/etc/hosts

DNS服务器解析:明确指定DNS服务器的IP地址 (/etc/resolv.conf)


IP/NETMASK静态配置:

配置文件有两类(/etc/sysconfig/network-scripts 目录下)

配置IP、掩码、网关:

以太网:ifcfg-IFNAME文件

PPP:ifcfg-ppp#文件

配置路由:

route-IFNAME文件(配置的是静态路由,永久有效的)

ifcfg-IFNAME配置文件的格式:

DEVICE=设备名(次配置文件所关联的设备,此设备名称要与ifcfg-后面的保持一直)

BOOTPROTO={bootp|dhcp|static|none}(bootp是比dhcp更早的一种协议)

HWADDR=MAC_ADDR设备的mac地址

NM_CONTROLLED={yes|no}是否接受NetworkManager服务脚本来控制此设备(在CentOS6上建议不启用)

ONBOOT={yes|no}是否开机过程中自动激活此设备

TYPE={Ethernet|Bridge|等等}网络设备类型(Ethernet:以太网网卡、Bridge:桥设备)

UUID= (设备ID号)

IPADDR= (ip地址)

NETMASK=(子网掩码)

GATEWAY=(默认网关)

DNS1= 第一个DNS服务器

DNS2=

IPV6INIT={yes|no}

USERCTL={yes|no}是否接受非管理员来控制此网络设备接口

PEERDNS={yes|no}不接受DHCP服务器指派的DNS服务器地址

route-IFNAME配置文件的格式:

格式1:每一行一个路由条目

DESTINATION via NEXT_HOP

格式2:没三行一个路由条目

ADDRESS#=DESTINATION

NETMASK#=MASK

GATEWAY#=GW

注意两种格式不可混用,要么用第一种 要么用第二种

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@Legion100 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth1
[root@Legion100 ~]# echo "10.0.0.0/8 via 172.16.41.252" >> /etc/sysconfig/network-scripts/route-eth0
[root@Legion100 ~]# service network restart
正在关闭接口 eth0:                                        [确定]
正在关闭接口 eth1:                                        [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 eth0:
正在决定 eth0 的 IP 信息...完成。
                                                           [确定]
弹出界面 eth1:
正在决定 eth1 的 IP 信息...完成。
                                                           [确定]
[root@Legion100 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
10.0.0.0        172.16.41.252   255.0.0.0       UG    0      0        0 eth0
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth1
[root@Legion100 ~]#

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[root@Legion100 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth1
[root@Legion100 ~]# cat /etc/sysconfig/network-scripts/route-eth0
ADDRESS0=10.0.0.0
NETMASK0=255.0.0.0
GATEWAY0=172.16.41.252
ADDRESS1=192.168.185.0
NETMASK1=255.255.255.0
GATEWAY1=172.16.41.252
[root@Legion100 ~]# service network restart
正在关闭接口 eth0:                                        [确定]
正在关闭接口 eth1:                                        [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 eth0:
正在决定 eth0 的 IP 信息...完成。
                                                           [确定]
弹出界面 eth1:
正在决定 eth1 的 IP 信息...完成。
                                                           [确定]
[root@Legion100 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.185.0   172.16.41.252   255.255.255.0   UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
10.0.0.0        172.16.41.252   255.0.0.0       UG    0      0        0 eth0
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth1
[root@Legion100 ~]#

Linux基础入门之网络属性配置的更多相关文章

  1. 【linux相识相知】网络属性配置

    当我们拥有一个崭新的计算机的时候,第一步恐怕都是迫不及待的下载各种软件,看视频,听音乐等,这里的关键的一点是要有网络.现在的个人计算机大部分都是windows操作系统的,接入网络网络很简单,插上网线也 ...

  2. Linux网络属性配置命令和管理详解

    一.Linux网络属性配置 1.Linux主机接入到网络方式 IP/NETMASK:实现本地网络通信 路由(网关):可以进行跨网络通信 DNS服务器地址:基于主机名的通信,Linux可以有三个DNS地 ...

  3. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  4. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  5. Linux基础入门 - 3

    第四节 Linux 目录结构及文件基本操作 4-1.Linux目录结构 Linux 的目录与 Windows 的目录的实现机制是完全不同的.一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关 ...

  6. VBox&vmware虚拟机安装Linux及Linux基础入门学习

    VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...

  7. Linux基础入门教程

    Linux基础入门教程 --------- Linux学习路径 Linux学习者,常常不知道自己改怎么学习linux:Linux初级,也就是入门linux前提是需要有一些计算机硬件相关的知识或是有一下 ...

  8. 腾讯云-Linux 基础入门

    Linux 基础入门 目录操作 任务时间:5min ~ 10min 创建目录 使用 mkdir 命令创建目录 mkdir $HOME/testFolder # $HOME 当前用户的家目录  root ...

  9. Linux基础入门 - 2

    第三节 用户及文件权限管理 3-1.Linux用户管理 Linux 是一个可以实现多用户登陆的操作系统,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是 ...

随机推荐

  1. 为什么要重写hashcode方法和equals方法

    我们可能经常听到说重写equals方法必须重写hashcode方法,这是为什么呢?java中所有的类都是Object的子类,直接上object源码 /* * Copyright (c) 1994, 2 ...

  2. hiho#1449 重复旋律6 求长度为k的串最大次数 后缀自动机

    题目传送门 题目大意:求长度为k的串的最大次数,把k从1到length的所有答案全部输出. 思路: 这道题放在$SAM$里就是求长度$k$对应的所有$right$集中最大的大小. 我们以$aabab$ ...

  3. 在微信移动端input file拍照或从相册选择照片后会自动刷新页面退回到一开始网站进入的页面

    <input type="file" accept="image/*"/> 调用打开摄像头后,聚焦后拍照,点击确认,这时页面会出现刷新动作,然后回退 ...

  4. PHP正则表达式笔记和实例

    转自:  https://www.cnblogs.com/yafei236/p/4168290.html 本文主要介绍如何在PHP使用正则表达式,并附带几个实例. 这两天工作用到了正则表达式,发现自己 ...

  5. python描述符学习

    目录 一.对象属性的访问控制 二.描述符基本理解 三.基本使用 四.使用描述符完成property.classmethod.staticmethod自定义实现 1.property的自定义实现 2.c ...

  6. (转)linux运维必会MySQL企业面试题

    linux运维必会MySQL企业面试题  老男孩教育运维班全体学员MySQL必会企业面试题最实战.最细致.最落地的运维实训基地,老男孩教育连续多年国内平均就业工资最高! 数据库的重要性是所有技术里最核 ...

  7. 使用redux-devtools工具

    在vue中型项目开发的过程中,一般都是要用到vuex这个状态管理工具的,这样可以方便我们管理全局的状态,同时,为了在开发的过程中,更加方便地实时查看到state状态,我们会使用 vue-devtool ...

  8. Java调用C函数

    一.关于JNI JNI( Java Native Interface )主要是实现Java和C/C++语言之间的通信. Java通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOW ...

  9. linux inotifywait 下监控是否有IO

    帮助: JDU:/host-001e67a8d50b /log/today # inotifywait -h inotifywait 3.14 Wait for a particular event ...

  10. vs2010 编译 boost1.65.1

    vs2010编译boos1.65.1注意选项 vs2010 不支持 c99 ,string.c和debugger.c 变量定义顺序位置报错,改变顺序即可. debugger.c va_copy 在c8 ...