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. 02-url路由分配及模板渲染方式

    本章主要内容 1.url基本概念及格式 2.path和re_path 3.模板路径配置 4.模板渲染方式 1.url基本概念及格式 URL(uniform Resoure Locator)统一资源定位 ...

  2. [转] Mock以及Mockito的使用

    http://www.open-open.com/lib/view/open1462177583813.html [From] http://www.open-open.com/lib/view/op ...

  3. Mac系统升级至OS X Mavericks后Genymotion出现的问题及解决方法

    Apple的系统升级终于免费了,可开心满满地升级到OS X Mavericks后,Android模拟器之王Genymotion罢工了.遇到两个问题:1. Unable to load VirtualB ...

  4. 通过CGI实现在Html页面上执行shell命令

    在mac上配置cgi(不用系统自带的apache cgi.) 安装cgi 1. brew update 2. brew install httpd24 安装完后,会有如下提示 DocumentRoot ...

  5. HTML5创业的另一种可能

    当一种新的颠覆式技术出现,是投靠大平台还是坚持走独立的道路? HTML5(下称H5)火了.在多数人还没完全弄清楚什么是H5时,它已悄无声息地潜入移动端,并渐呈燎原之势火速席卷云寻觅云寻觅. 以前,H5 ...

  6. getActionBar()为null的解决方法总结(引用他人)

    最近在看android actionBar的使用,环境为AndroidStudio,建一个简单的工程,功能为:两个按钮,一个单击用于显示actionbar,一个用于隐藏actionbar.默认acti ...

  7. 拖进Xshell终端窗口文件上传

    XShell已经内置rz 直接从Windows拖文件进去终端 http://www.jb51.net/LINUXjishu/163820.html 借助securtCRT,使用linux命令sz可以很 ...

  8. Android AES加密工具类实现(基础回顾)

    package com.powercreator.cms.util; import java.security.SecureRandom; import javax.crypto.Cipher; im ...

  9. ubuntu init启动流程

    ubuntu的init方式有两种:一种是System V initialization,一种是Upstart.ubuntu6.10以前的版本是第一种方式,之后的版本是第二种方式. 在旧式的System ...

  10. 转载:怎么用eclipse开发C++程序(以后备用,待实现),使用CDT

    一:准备工作:需下载以下三个软件包 a).Eclipse 3.1 官方站点: http://www.eclipse.org 工具下载地址:http://www.eclipse.org/download ...