1、设置动态IP

ifconfig eth0 192.168.1.12

设置后立即生效,重启机器后就无效了

2、设置静态IP

编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes

HWADDR=00:0c:29:16:e5:8c

添加:

IPADDR=192.168.1.12

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

TYPE=Ethernet

两行,把 BOOTPROTO=dhcp 修改为 BOOTPROTO=static,注意BOOTPROTO值一定要修改为静态(static),修改后重启服务器(reboot)生效,重启网路也可以:service network restart

ifcfg-eth0 内容如下:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cat ifcfg-eth0

# Marvell Technology Group Ltd. Unknown device 4380

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.1.12

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

ONBOOT=yes

#TYPE=Ethernet

#DNS1=8.8.8.8

二、修改网关

vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=Aaron

GATEWAY=192.168.1.1

三、修改DNS

$ vi /etc/resolv.conf

nameserver 192.168.1.1

nameserver 8.8.8.8

四、查看网络、网关
# ip route show    # 查看路由指向
10.211.55.0/24 dev eth0 proto kernel scope link src 10.211.55.12
default via 10.211.55.1 dev eth1

# netstat -rn   # 查询网络数据结构
# route -n  #  查询网络数据结构(测试与netstat显示结果一样)

1.lsmod 查看网卡的模块是否加载,看看是否网卡驱动好了的意思
2.dmesg:查看是否检测到了网卡。
3.ifup ifdown 激活/停止网卡

网络相关配置详解

Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。

Linux中网络相关的主要的几个配置文件为:
/ect/hosts配置主机名(域名)和IP地址的对应
/etc/sysconfig/network配置主机名和网关
/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推/etc/resolv.conf配置DNS客户端(关于使用哪个DNS服务器的配置)

1./etc/sysconfig/network-scripts/ifcfg-<interface-name>文件
在RedHat中,系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。在启动时,系统通过读取这个配置文件决定某个网卡是否启动和如何配置。
下面是/etc/sysconfig/network-scripts/ifcfg-eth0文件的示例:
DEVICE=eth0
IPADDR=192.168.0.2
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
NBOOT=yes
BOOTPROTO=none
GATEWAY=192.168.0.1

若希望手工修改网络地址或增加新的网络连接,可以通过修改对应的文件ifcfg-<interface-name>或创建新的文件来实现。
DEVICE=<name>   <name>表示物理设备的名字
IPADDR=<address>   <address>表示赋给该网卡的IP地址
NETMASK=<mask>  <mask>表示子网掩码
BROADCAST=<address> <address>表示广播地址
NBOOT=yes/no  启动时是否激活该卡
BOOTPROTO=none  none:无须启动协议;bootp:使用bootp协议;dhcp:使用dhcp协议
GATEWAY=<address> <address>表示默认网关
MACADDR=<MAC-address> <MAC-address>表示指定一个MAC地址
USERCTL=yes/no    是否允许非root用户控制该设备

2./etc/resolv.conf文件
文件/etc/resolv.conf配置DNS客户端,它包含了DNS服务器地址和域名搜索配置,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:
search wuxp.com
nameserver 192.168.0.1
nameserver 192.168.0.2

search wuxp.com:表示当提供了一个不包括完全域名的主机名时,在该主机名后添加wuxp.com的后缀;nameserver:表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。因此,应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。

3./etc/sysconfig/network文件
该文件用来指定服务器上的网络配置信息,下面是一个示例:
NETWORK=yes
RORWARD_IPV4=yes
HOSTNAME=server.wuxp.com
GAREWAY=192.168.0.1
GATEWAYDEV=eth0

NETWORK=yes/no    网络是否被配置
FORWARD_IPV4=yes/no    是否开启IP转发功能
HOSTNAME=<hostname> <hostname>表示服务器的主机名
GAREWAY=<address>    <address>表示网络网关的IP地址
GAREWAYDEV=<device>  <device>表示网关的设备名,如:eth0

4./etc/hosts文件
当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。
下面是一个/etc/hosts文件的示例:
127.0.0.1 Localhost server.wuxp.com
192.168.0.3 station1.wuxp.com
最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。

修改后,需要重启网络才会生效:重新启动网络设置:/sbin/service network restart
service network start //启动网络服务
service network stop //停止网络服务
service network status //查看网络服务状态

另外,还有单个网卡绑定多个IP和多个网卡绑定为一块虚拟网卡的配置。

1、单网卡绑定多个IP

有时,我们需要在一块网卡上配置多个IP,例如,在上面的例子中,我们还需要为eth0配置IP 192.168.168.2和192.168.168.3。那么需要再在/etc/sysconfig/network-scripts下新建两个配置文件:

ifcfg-eth0:0内容如下:

DEVICE=eth0:0
BOOTPROTO=static
IPADDR=192.168.168.2
NETMASK=255.255.255.0
NBOOT=yes

ifcfg-eth0:1内容如下:

DEVICE=eth0:1
BOOTPROTO=static
IPADDR=192.168.168.3
NETMASK=255.255.255.0
NBOOT=yes

2、多个网卡绑定成一块虚拟网卡

为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。比如我们可以将eth0和eth1绑定成虚拟网卡bond0

首先在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0,内容如下

DEVICE=bond0
BOOTPROTO=none
BROADCAST=192.168.168.255
IPADDR=192.168.168.1
NETMASK=255.255.255.0
NETWORK=192.168.168.0
NBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.168.250
USERCTL=no

然后分别修改eth0和eth1的配置文件
ifcfg-eth0内容:

DEVICE=eth0
BOOTPROTO=none
NBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes

ifcfg-eth1内容

DEVICE=eth1
BOOTPROTO=none
NBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes

因为linux的虚拟网卡是在内核模块中实现的,所以需要安装的时候已经装好该module。在/etc/modprobe.conf文件(好像有些老版本是/etc/modules.con)中添加如下内容(如果没有该文件,则新建一个):

alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0

其中miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡
mode=1表示主备模式,也就是只有一块网卡是active的,只提供失效保护。如果mode=0则是负载均衡模式的,所有的网卡都是active,还有其他一些模式很少用到
primary=eth0表示主备模式下eth0为默认的active网卡

最后,在/etc/rc.local中加入

modprobe bonding miimon=100 mode=1

重启机器后可以看到虚拟网卡已经生效,可以通过插拔两个物理网卡的网线来进行测试,不过linux中网卡接管的时间好象比较长。

参考资料:

http://www.51testing.com/html/38/225738-237209.html

http://www.cnblogs.com/dkblog/archive/2011/08/30/2160204.html

Linux 静态IP动态IP设置的更多相关文章

  1. 二、Linux 静态IP,动态IP配置

    Linux 静态IP,动态IP配置 第一步:激活网卡 系统装好后默认的网卡是eth0,用下面的命令将这块网卡激活. # ifconfig eth0 up 第二步:设置网卡进入系统时启动 想要每次开机就 ...

  2. 静态与动态IP设置

    静态IP设置 netsh interface ipv4 set address name="本地连接" source=static addr=192.168.0.212 (这个地方 ...

  3. 设置Windows静态IP+动态IP

    静态IP 设置以太网属性 进入IPv4属性 设置IPv4 动态IP 同上方法,只不过选成了自动

  4. 再谈Ubuntu和CentOS安装好之后的联网问题(桥接和NAT、静态和动态ip)(博主推荐)

    不多说,直接上干货! 首先,普及概念. hostonly.桥接和NAT的联网方式 对于CentOS系统,用的最多的就是,NAT和桥接模式 CentOS 6.5静态IP的设置(NAT和桥接联网方式都适用 ...

  5. linux静态与动态库创建及使用实例

    一,gcc基础语法: 基本语法结构:(由以下四部分组成) gcc -o 可执行文件名 依赖文件集(*.c/*.o) 依赖库文件及其头文件集(由-I或-L与-l指明) gcc 依赖文件集(*.c/*.o ...

  6. 实体ip 虚拟ip 固定ip 动态ip

    实体 IP:在网络的世界里,为了要辨识每一部计算机的位置,因此有了计算机 IP 位址的定义.一个 IP 就好似一个门牌!例如,你要去微软的网站的话,就要去『 207.46.197.101 』这个 IP ...

  7. Linux 静态库&动态库调用

    1.什么是库在windows平台和linux平台下都大量存在着库.本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.由于windows和linux的本质不同,因此二者库的二进制是不 ...

  8. Linux 静态和动态添加路由

    (一)静态添加 1/5 首先让我们查看当前机器的路由表,执行如下命令:route -n [root@vnode33 network-scripts]# route -n Kernel IP routi ...

  9. Linux 静态库 & 动态库

    转自:http://blog.chinaunix.net/uid-26833883-id-3219335.html 一.什么是库   本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执 ...

随机推荐

  1. iftop

    http://book.51cto.com/art/201409/452431.htm https://wiki.vpsmm.com/iftop/ http://www.cnblogs.com/Alo ...

  2. 5.建造者模式(Builder Pattern)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. SQL如何在数据库间复制表

    方法一: DB1  tb1 DB2  tb2 选择DB1 到表的列表那里选择tb1表 右键 所有任务 数据导出 下一步  选择你要导出的数据库DB1  下一步 选择你要导入的数据库DB2 下一步  选 ...

  4. async/await 异步编程

    前言 最近在学习Web Api框架的时候接触到了async/await,这个特性是.NET 4.5引入的,由于之前对于异步编程不是很了解,所以花费了一些时间学习一下相关的知识,并整理成这篇博客,如果在 ...

  5. java错题本

    1.判断题: Java程序一般应当含有main方法,因为它是所有JaVa程序执行的入口(错) 解析:applet(java小程序)不用,application(java应用程序)需要.(见java a ...

  6. spark streaming中使用checkpoint

    从官方的Programming Guides中看到的 我理解streaming中的checkpoint有两种,一种指的是metadata的checkpoint,用于恢复你的streaming:一种是r ...

  7. cocos2d 创建精灵图

    // 在init这个函数当中做一些初始化的事情 bool HelloWorld::init() { ////////////////////////////// // 先构造父级对象 if ( !CC ...

  8. BZOJ3290 : Theresa与数据结构

    CANCEL操作可以看作删点,X坐标可以离散化 将询问按Z坐标差分,转化成两个求Z<=某个数的和的询问 将操作CDQ分治 每次将前一半的修改.后一半的查询按照Z坐标排序 然后扫描线,每到一个询问 ...

  9. (转)Hbase shell 常用命令(1)

    Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...

  10. [Unity2D]脚本的使用规则

    Unity2D的游戏脚本可以使用3中开发语言来编写:C#,JavaScript和BOO.你可以选择你熟悉的编程语言来编写,通常C#语言的编程功能会更加强大一些,成为首选的语言.在Unity2D中使用C ...