March 17, 2015 7:48 PM

Linux 下网卡参数配置#

在 Linux 下如果想修改网卡的参数有很多种方法,第一种方法是修改 /etc/network/interfaces 文件,这种方法可以在重启后依然有效;另外一种方法是使用 ifconfig 指令,这种方法只能临时性的修改网卡参数,在重启后会失效。

第一种:修改 interfaces 文件##

interfaces 文件在 /etc/network/ 文件夹下,是网络接口配置文件,里面包含了所有网络接口的配置信息。

interfaces 文件有自己的编写规则,其中以 '#' 开头的行会被系统忽略,因此可以作为注释使用。每个指令占一行,如果写不下可以用 '' 符号作为此行结尾,在下一行接着写命令。

文件由 "iface","mapping","auto","allow-" 和 "source" 字段组成。下面是一个例子:

auto lo eth0
allow-hotplug eth1 iface lo inet loopback source interfaces.d/machine-dependent mapping eth0
script /usr/local/sbin/map-scheme
map HOME eth0-home
map WORK eht0-work iface eth0-home inet static
address 192.168.1.1
netmask 255.255.255.0
up flush-mail iface eth0-work inet dhcp iface eth1 inet dhcp

以 "auto" 开头的行是用来确定物理网络接口将会被启动当 ifup -a 指令被运行时(这个指令会在系统启动脚本中使用,因此开机时会自动启动以 "auto" 开头设置的网卡)。在 "auto" 字段的后面应该紧跟着物理接口的名字,interfaces 文件中可以设置多个 "auto" 方式启动的网络接口,ifup 指令会按照顺序启动网络设备。

以 "allow-" 开头的行是用来确定通过哪种子系统来启动那些应该被自动启动的网络设备。这样就可以使用指令 ifup --allow=hotplug 来启动那些已经设置 "allow-hotplug" 的网络设备。

NOTE:"allow-auto" 和 "auto" 是同义词。

以 "source" 开头的行是用来包含其他文件的字段,因此可以把配置拆成几个文件。 "source" 后面接的是文件路径, shell 下面的通配符可以使用。

以 "mapping" 开头的行是用来给将要启动的物理设备接口确定逻辑接口名。"mapping" 字段的第一行是以 "mapping" 开始的,后面跟着 shell 下 glob 指令语法相同的模式匹配(如 eth*)。每个 "mapping" 字段必须包含一个脚本定义,这个脚本使用物理设备接口名作为参数,并且会把下面所有以 "map" 开头的字段(不包括 "map" 本身)提供给它作为输入。在脚本执行结束前会输出一段字符串,具体例子可以参考 /usr/share/doc/ifupdown/examples 下面的例子文件。

映射一个包含搜索映射匹配模式的名字并且执行使用第一个匹配的字段来运行脚本,脚本输出的名字就是原来网卡将要被映射的名字。

如:

通过PING配置网络

Linux 在处理 PCMCIA 卡的时候有比较好的方式,可以在 PCMICA 卡插入时通过一个配置脚本来确定网络地址。但是,笔记本上的网卡是笔记本自带的,并非 PCMCIA 卡,由于经常需要奔波于办公室、实验室和家之间,就经常需要修改网络地址。如果我去的每一个地方都安装了 DHCP ,那么我就可以把 eth0 设定成为 DHCP 的方式,然而我的情况却是:在家可以使用DHCP,在办公室和实验室都要使用固定地址。

为了解决这个问题,我们可以使用一种 mapping 机制,这种方法的基本原理是通过运行一个程序来确定目前所处的环境,并为这个环境选择一套配置。我现在使用的就是通过ping一个网络的网关来确定当前网卡究竟连接在哪个网络上,然后再选择这个网络的配置。

首先,在 /usr/share/doc/ifupdown/examples 中有一个文件 ping-places.sh ,把它复制到 /etc/network 目录中,然后 chmod a+x /etc/network/ping-places.sh。下面就是编辑 /etc/network/interfaces 文件,下面是一个例子:

mapping eth0 ①
script /etc/network/ping-places.sh
map 192.168.0.107/24 192.168.0.1 home
map 10.1.133.165/24 10.1.133.1 office
map 10.1.0.107/24 10.1.0.1 lab
iface home inet dhcp ②
iface office inet static ③
address 10.1.133.165
netmask 255.255.255.0
gateway 10.1.133.1
up cp /etc/resolv.conf.school /etc/resolv.conf ④
iface lab inet static
address 10.1.0.107
netmask 255.255.255.0
gateway 10.1.0.1
up cp /etc/resolv.conf.school /etc/resolv.conf
  1. 表示对于网络设备调用脚本 /etc/network/ping-places.sh ,如果能够用地址 192.168.0.107/24

    ping 通地址 192.168.0.1 ,则将 eth0 映射为设备 home ,即启动 home 的配置。后面的 office 和 lab 与其类似。
  2. 表示虚拟设备 home 使用 DHCP 分配的地址。
  3. 表示虚拟设备 office 使用固定地址。
  4. 表示在启动这个网络设备后还要执行 cp 命令,从而指定一个域名解析方法。除了 up 以外,还有 pre-up、down 和 post-down 可以用来指定在启动或停止网络设备前后执行的命令。

NOTE:/usr/share/doc/ifupdown/examples 中有一些配置网络的例子和需要的脚本。

ifup 通常会给一个物理接口名作为它的第一个没有选项的参数。ifup 同时也会使用这个名字作为接口的初始化逻辑名,除非它被指定了一个 "=LOGICAL" 格式的后缀,这样 ifup 会使用 "LOGICAL" 作为接口的初始化逻辑名。

网卡配置实例##

回环参数配置###

#
# The loopback network interface(配置环回口)
# 开机自动激lo接口
auto lo
# 配置lo接口为环回口
iface lo inet loopback

DHCP方式配置###

#
# The primary network interface (配置主网络接口)
# 开机自动激活eth0接口
auto eth0
# 配置eth0接口为DHCP自动获取
iface eth0 inet dhcp

静态 IP 地址分配###

#
# The primary network interface (配置主网络接口)
#开机自动激活eth0接口
auto eth0
#配置eth0接口为静态设置IP地址
iface eth0 inet static
address 10.16.3.99
netmask 255.255.255.0
network 10.16.3.0
broadcast 10.16.3.255
gateway 10.16.3.1
# dns-* options are implemented by the resolvconf package, if installed(DNS设置)
dns-nameservers 61.153.177.196 61.153.177.197
dns-search fireteam.org

无线网卡配置###

auto wlan0
iface wlan1 inet static
wpa-ssid wifi-name
wpa-psk wifi-passwork
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 202.196.64.1

Linux 下网卡参数配置的更多相关文章

  1. linux下网卡bonding配置(转)

    linux下网卡bonding配置   章节 bonding技术 centos7配置bonding centos6配置bonding 一.bonding技术 bonding(绑定)是一种linux系统 ...

  2. linux下网卡bonding配置

    linux下网卡bonding配置   章节 bonding技术 centos7配置bonding centos6配置bonding 一.bonding技术 bonding(绑定)是一种linux系统 ...

  3. Linux 下configure 参数配置与软件的安装与卸载

    Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...

  4. 查看Linux下网卡状态或 是否连接(转)

      1) 通过mii-tool指令       [root@localhost root]# mii-tool        eth0: negotiated 100baseTx-FD, link o ...

  5. Linux下Redis服务器安装配置

    说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

  6. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  7. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  8. [转载]linux下网卡漂移导致网络不可用

    转自:https://blog.csdn.net/hyatsz/article/details/47690993 linux下网卡漂移导致网络不可用 2015年08月16日 00:48:50 hyat ...

  9. PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩 &&搞个鸡巴毛,写少了个‘/’号,浪费了一天

    PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有 ...

随机推荐

  1. 【BZOJ2806】[Ctsc2012]Cheat 广义后缀自动机+二分+单调队列优化DP

    [BZOJ2806][Ctsc2012]Cheat Description Input 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数接下来M行的01串,表示标准作文库接下来N行的 ...

  2. 基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题

    基于PL/SQL的数据库备份方法 PL/SQL Developer是Oracle 数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对 ...

  3. 九度OJ 1325:Battle Over Cities(城市间的战争) (并查集)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:376 解决:132 题目描述: It is vitally important to have all the cities connect ...

  4. What Every Computer Scientist Should Know About Floating-Point Arithmetic

    http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

  5. CSS图片居中,多余隐藏

    /*外层DIV*/ div {position: relative;overflow:hidden;width: 显示宽度px;} /*left=50%刚好在中间,margin-left=往前移动图片 ...

  6. Symfony 上传图片教程

    介绍:我使用的Bundle:"vich/uploader-bundle": "^1.4"; "liip/imagine-bundle": & ...

  7. ACN经典例题1

    1.韩信点兵 描述相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了.输入3个非负整数a,b,c ,表示每种 ...

  8. Example 2 - contour plots

    load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" begin cdf_file = addfile("$N ...

  9. Docker alpine 设置东八时区

    FROM alpine:3.8 RUN echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/main' > /etc/apk/repositories &a ...

  10. Linux 创建Bridge

    安装Bridge工具软件包 Linux可以工作在网桥模式,必须安装网桥工具bridge-utils,运行命令: yum install bridge-utils 或 apt-get install b ...