今天把Linux的网络配置总结了一下,尽管并不难可是是个比較重要的基础。然后我也不知到自己以后是否会做运维,可是我知道自己比較喜欢刨根问底。还有就是我很珍惜我以前掌握过的这些运维的技能。今天突然间问自己,Linux网络配置的那个文件路径是什么。突然间小心脏又绷紧了,我发现记忆已经開始模糊了。尽管陆续有把之前运维的笔记整理上来,可是每次都有种写遗书的淡淡地忧伤在里面。突然间又想暴粗口了。。。。。

一、网络基本配置

首先就是/etc/sysconfig/network-scripts/ifcfg-eth0这个配置文件。这里的eth0就是我们的网卡名字,也是默认的名字。我们先来看看这个配置文件,例如以下(以我自己机子为样例):

DEVICE="eth0"

         BOOTPROTO="dhcp"

         HWADDR="60:EB:69:BA:19:03"

         NM_CONTROLLED="yes"

         ONBOOT="yes"

         TYPE="Ethernet"

         UUID="10372dbd-9192-405d-b567-6cb32642acfa"

因为是自家用的小电脑,配置比較简单。我们来一个一个介绍一下先:

DEVICE:这个是网卡的名字,不是特别重要

BOOTPROTO:这个一共同拥有4个值各自是none、static、bootp、dhcp。none值主要是在网卡绑定的时候用到的,一般不使用。static值配置静态ip,一般我们在配server的时候就使用static(毕竟server要是经常ip变动,我相信腾讯肯定会被劳资们拆了)。bootp值也不经常使用,它是指通过bootp协议获取ip。bootp是一种udp/ip的协议,详细能够再去了解一下。dhcp值这个一般自家用,就是通过dhcp获取ip。

HWADDR:这个是网卡MAC地址

NM_CONTROLLED:这里的前缀NM是指NetworkManager,是一款Linux自带的网络管理工具。yes就是说这个网卡受到NM的控制,no就是不受它控制。一般做server配静态ip都会把这里设成no,然后NM的开机启动也要用chkconfig off掉。

ONBOOT:这个是指开机的时候是否启动这个网卡,yes就是开机启动,no就是不启动。

TYPE:网卡类型

 UUID: 这个是全球唯一标识,没实用的东西。

因为我电脑用的是dhcp,所以补充一些简单的配置字段:

IPADDR=192.168.1.10           //ip地址

NETMASK=255.255.255.0    //子网掩码

GATEWAY=192.168.1.1        //默认网关

PEERDNS:是否指定DNS。假设使用DHCP协议,默觉得yes。

yes:假设DNS设置,改动/etc/resolv.conf中的DNS

no:不改动/etc/resolv.conf中的DNS

DNS{1, 2}:DNS地址。当PEERDNS为yes时会被写入/etc/resolv.conf中

USERCTL:用户权限控制

yes:非root用户同意控制该网络接口

no:非root用户不执行控制该网络接口

IPV6INIT:是否运行IPv6

yes:支持IPv6

no:不支持IPv6

IPV6ADDR:IPv6地址/前缀长度

二、献给那些windows运维人员

在我实习的时候,我看到有非常多运维window的员工适应不了windows运维到Linux运维的转变。毕竟也上了一些年纪,然后确实转变挺大的。所以我这里给上一个setup命令,能够在Linux以下提供window的图形化界面配置。希望能够帮助到一些人:

很棒吧,(*^__^*) 。除了Network configuration之后,还能够对防火墙、开机启动等各方面的配置。配置完之后,会自己主动在相应的配置文件里进行改动。详细的使用不难,大家自己摸索一下吧。

三、网络配置进阶——网卡绑定

        这个绑定分为2种:单网卡绑定多个ip和多网卡绑定单个ip

单网卡绑定多个ip

使用情景:

比方公司使用不同的运营商。为了提高系统稳定性,会为网卡绑定两个ip。或者像一台server执行多个小型站点站点,也会须要绑定多个ip地址。

详细配置(很easy):

首先由于我环境比較特殊,先进行以下的配置:

1、把ifcfg-eth0配置为静态ip地址(192.168.11.10)

2、service NetworkManager stop 关闭掉NM

然后我们在当前的配置文件夹下运行cp ifcfg-eth0 ifcfg-eth0:0利用原来的配置,创建新的子网卡文件各个配置文件例如以下:

ifcfg-eth0

DEVICE="eth0"

           BOOTPROTO="static"

IPADDR="192.168.11.10"

HWADDR="60:EB:69:BA:19:03"

           NM_CONTROLLED="yes"

           ONBOOT="yes"

           TYPE="Ethernet"

           UUID="10372dbd-9192-405d-b567-6cb32642acfa"

ifcfg-eth0:0

DEVICE="eth0:0"

           BOOTPROTO="static"

IPADDR="192.168.11.11"

HWADDR="60:EB:69:BA:19:03"

           NM_CONTROLLED="yes"

           ONBOOT="yes"

           TYPE="Ethernet"

           UUID="10372dbd-9192-405d-b567-6cb32642acfa"

最后重新启动一下网络,查看一下效果:

多网卡绑定单个ip

           
使用情景:

这个通常是提高网络的高可用性,当一块网卡出现故障的时候使用第二快网卡。尽管听起来好像非常夸张,可是像思科的路由器也会装有备用电源或者CPU(不是我们电脑的cpu,是路由器的)

详细配置:

1、第一步先给两个网卡配置文档加上SLAVE=yes,把它变成奴隶。然后设置MASTER=bond0,告诉它你的主人是bond0。可是这里注意每一个网卡都要设置BOOTPROTO=none。



            范例:



                      DEVICE=eth0



                      ONBOOT=yes



                      BOOTPROTO=none



                      MASTER=bond0



                      SLAVE=yes



           2、创建他们的主人bond0(ifcfg-bond0)。



           范例:               



                    DEVICE=bond0



                    BOOTPROTO=static



                    IPADDR=10.1.3.210



                    NETMASK=255.255.255.0



                    GATEWAY=10.1.3.254

                    ONBOOT=yes



             3、改动/etc/modprobe.d/dist.conf添�以下内容:             



                   alias bond0 bonding

                   options bond0 miimon=100 mode=1



                    mode=0:表示load balancing (round-robin)为负载均衡方式,两块网卡都在工作。

                    mode=1:表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,当中一块网卡在工作(若eth0断掉),则自己主动切换到还有一个块网卡(eth1做备份)。



             最后service network restart验证一下吧。

网络配置——Linux运维基础的更多相关文章

  1. 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍

    01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...

  2. Linux运维基础采集项

    1. Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工 ...

  3. linux运维基础知识

    linux运维基础知识大全 一,序言 每一个微不足道的知识,也是未来的铺垫.每一份工作的薪资职位,也是曾经努力的结果. 二,服务器 1,运维人员工作职责: 1)保证数据不丢失:2)保证服务器24小时运 ...

  4. linux运维基础__争取十月前研究的差不多

    转来的一编,考虑在十月前研究的差不多 linux运维人员基础 1.很多地方经常会用到的rsync工具 实施几台服务器的同步效果 我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章 ...

  5. [转帖] Linux运维基础知识学习内容

    原作者地址:https://www.cnblogs.com/chenshoubiao/p/4793487.html 最近在学习 linux  对简单的命令有所掌握 但是 复杂的脚本 shell pyt ...

  6. Linux运维基础

    一.服务器硬件 二.Linux的发展史 三.Linux的系统安装和配置 四.Xshell的安装和优化 五.远程连接排错 六.Linux命令初识 七.Linux系统初识与优化 八.Linux目录结构 九 ...

  7. Linux运维基础命令笔试题--看看你会多少?

    老男孩教育linux运维就业班第一周课后学习效果能力上机大考察 (每题10分共130分,过100即可,请给出详细步骤) 1.创建目录/data/oldboy ,并且在该目录下创建文件oldboy.tx ...

  8. linux运维基础之跟我一起学正则表达式(一)

    正则表达式 ### 二, 1) 什么是正则表达式 正则表达式又称为规则表达式 正则表达式是一个计算机的一个概念 正则表达式为了处理大量的文本|字符串而定义的一套规则和方法,通常被用来检索,替换那些符合 ...

  9. Linux运维基础入门(四):Linux中的网络知识04

    一,虚拟机的安装 略 二,Linux系统下的网络配置(Linux虚拟机的网络设定为桥接模式) 桥接模式:虚拟机同主机一样,在网络中相当于一个真实存在的装有Linux系统的电脑.(我们先用这个模式) N ...

随机推荐

  1. OpenWrt backfire trunk源码下载及编译

    OpenWrt signature check failed remove wrong signature file svn co svn://svn.openwrt.org/openwrt/bran ...

  2. Linux 多线程开发

    在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死.在被其他线程回收之前,它的存储器资源(例如栈)是不释放的.相反, ...

  3. zoj 3471 Most Powerful(状态压缩dp)

    Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These ato ...

  4. N种方法妙讲LIS算法

    LIS算法经典汇总 假设存在一个序列d[1..9] = 2 1 5 3 6 4 8 9 7,可以看出来它的LIS长度为5.下面一步一步试着找出它.我们定义一个序列B,然后令 i = 1 to 9 逐个 ...

  5. C++ Primer 有感(异常处理)

    1.异常是通过抛出对象而引发的.该对象的类型决定应该激活哪个处理代码.被选中的处理代码是调用链中与该对象类型匹配且离抛出异常位置最近的那个. 2.执行throw的时候,不会执行跟在throw后面的语句 ...

  6. [bzoj2301: [HAOI2011]Problem b] 乞讨

    </pre><pre code_snippet_id="507886" snippet_file_name="blog_20141104_2_53831 ...

  7. mobile web retina 下 1px 边框解决方案

    本文实际上想说的是ios8下 1px解决方案. 1px的边框在devicePixelRatio = 2的retina屏下会显示成2px,在iphone 6 plug 下,更显示成3px.由其影响美感. ...

  8. Log4Net配置 转

    http://www.cnblogs.com/qingyi/archive/2010/01/14/1647915.html 用一些东西老是忘记,先记在这啦.. <!--log4net相关说明一. ...

  9. JavaScript类的设计

    [转载] Javascript与其他的面向对象语言不同,如C++,Java或PHP等.它并不是基于类的,而是基于原型的一种语言. 1.对象创建 在Javascript中创建一个类是非常容易的: var ...

  10. (zz)Lambda 表达式(C# 编程指南)

    https://msdn.microsoft.com/zh-cn/library/bb397687.aspx Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数.通过使用 lambd ...