我们来通过一些例子,来记录interfaces文件的书写。详情可参照man interfaces。

设置常用ethernet参数

auto lo
iface lo inet loopback # The primary network interface
auto eth0
iface eth0 inet static
  address 192.168.0.42
  network 192.168.0.0
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 192.168.0.1 auto wlan0
iface wlan0 inet dhcp
  wpa-ssid "TP-LINK_8D0B8A"
  wpa-psk ""

- auto是给ifup做识别用的,当我们使用ifup -a来打开网络设备的时候(init里面启动网卡的方式,以及networking start,都是使用ifup -a),ifup会找这些auto的项来进行操作。

- iface后面是logical interfaces的名字,如果我们没有使用过maping,那这里的名字就是物理设备的名字;在设备名字之后的,是这个接口使用的address family,inet或inetv6。最后的static是静态IP的意思,如果需要DHCP,把static换成DHCP就可以了。

- 从iface下一行起,就是具体这一个interface的参数设置了;格式没有缩进也是可以的,只是为了看起来清晰,但是,具体哪一个接口的设置参数,必须是跟在它的iface之后的。上面就是一些常见的设置项,应该不用过多解释。

- 作为无线设备的具体参数,我们可以直接在这里传ssid和passwd过去。注意,这里的ssid和passwd是wpa加密用的,这里需要wpa-supplicant支援。

另外,除了常见的loopback、static和dhcp外,网口的method还可以是以下几种(具体自己了解下吧):

1、manual,如果不是在默认这些启动方式行列,可以用manual方式,然后在随后的up,或者down里面定义我们如何来操作它;后面有一个例子。

2、bootp,boot protocol是无盘工作站启动时使用的协议,它向host发送请求,得到ip以及启动镜像让后把自己启动起来。

3、ppp,point to point protocol是一种数据链路层协议,被多种物理网络采用,常被ISP用作网络接入控制。

4、wvdial,操作猫来完成ppp拨号的机制。

启用网口时增加新路由

这个是我们在进行ifup或ifdown时,可以伴随执行一些什么动作,这里是直接执行添加路由。


auto eth0
iface eth0 inet dhcp
  up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
  up route add default gw 192.168.1.200
  down route del default gw 192.168.1.200
  down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
  

allow-hotplug wlan0
iface wlan0 inet manual
  wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

up和down之后可以跟任何的command,分别是我们执行ifup和ifdown时,需要同时进行一些其他的什么操作。这里是添加和删除路由。

另外还有,pre-up,pre-down,post-up,post-down,他们分别表示,需要为ifup做什么准备,需要为ifdown做什么准备,ifup完成之后我们还要做些什么,ifdown之后我们还要做些社么。

我们还可以在/etc/network/目录下还可以建目录if-up.d,if-down.d等等文件夹,在文件夹下我们可以放置我们要执行的脚本。比如,我们可以把配置无线网卡的wpa_supplicant相关脚本放在if-pre-up.d里面。

mapping机制

在debian系统里面,会存在网卡启动顺序的问题,所以,到底哪块网卡是eth0,哪块网卡是eth0还真说不上来,这时候mapping就很有用了。

 auto eth0 eth1
 mapping eth0 eth1
  script /path/to/get-mac-address.sh
  map ::::: lan
  map AA:BB:CC:DD:EE:FF internet
 iface lan inet static
  address 192.168.42.1
  netmask 255.255.255.0
  pre-up /usr/local/sbin/enable-masq $IFACE
 iface internet inet dhcp
  pre-up /usr/local/sbin/firewall $IFACE

上面的代码先是根据MAC地址,给每块网卡起了一个逻辑名,然后根据逻辑名来对网卡进行配置。

必须的是,每个mapping必含有一个script。

Linux下interface文件修改的更多相关文章

  1. linux 下查看文件修改时间

    linux 下查看文件修改时间 等 http://blog.sina.com.cn/s/blog_6285b04e0100f4xr.html 查看文件时间戳命令:stat awk.txtFile: ` ...

  2. linux 下查看文件修改时间,访问时间,状态改变时间

    http://blog.sina.com.cn/s/blog_6285b04e0100f4xr.html 查看文件时间戳命令:stat awk.txt File: `awk.txt' Size: 20 ...

  3. Linux下的文件及文件后缀名

    Linux下的文件及文件后缀名 2013-03-14 15:34 6969人阅读 评论(0) 收藏 举报 ++++++++++++++++++++++++++++++++++++++正文+++++++ ...

  4. linux下各文件夹的结构说明及用途介绍

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令.   /dev:设备特殊文件.   /etc:系统管理和配置文件.   /etc/rc.d:启动的配 置文件和脚本.   /ho ...

  5. Linux Linux下最大文件描述符设置

    Linux下最大文件描述符设置 by:授客 QQ:1033553122 1.   系统可打开最大文件描述符设置 查看系统可打开最大文件描述符 # cat /proc/sys/fs/file-max 6 ...

  6. [转载]linux下core文件设置与查看

    转自:https://blog.csdn.net/dingqinghui/article/details/77855330?locationNum=9&fps=1 linux下core文件设置 ...

  7. 【转】linux下各文件夹的结构说明及用途介绍

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

  8. Linux下的文件与目录权限

    一.用户(User).群组(Group)和其他人(Others) linux是多用户多任务的操作系统,同一时刻可能会有多个用户登录系统,考虑到文件的安全性等问题,所以Linux下的文件都属于一个特定的 ...

  9. linux 下vim文件乱码 cat文件正常处理方法

    linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...

随机推荐

  1. 如何在UIimageview里显示一张图片里的某一部分

    首先,获取想要显示的部分的大小及位置 CGRect rect: 然后,将此部分从图片中剪切出来 CGImageRef imageRef=CGImageCreateWithImageInRect([im ...

  2. wsdl中含ref="s:schema"时处理的

    dos窗口,在生成客户端代码的时候,出现了下图所示的错误: java是通过JAXB解析wsdl文件的,出现这种错误的原因是: 是JAXB目前还不支持ref 这种元素的解析 s:schema是types ...

  3. PHP Apache 配置伪静态

    1.首先是开启rewrite_module(如何开启,百度搜索) 2.创建.htaccess文件(如何创建,百度搜索) 3.在.htaccess文件中打开重写服务:RewriteEngine On 4 ...

  4. Shell脚本_位置参数和预定义参数

    一.位置参数变量   1.输出两个输入参数之和 l1.sh 1 2 3 4 5 6 7 8 9 #!/bin/bash   num1=$1 num2=$2 sum=$((num1+num2))   # ...

  5. 强连通 HDU3072

    n个点m条边 m条边 权值 简单点说就是求把所有强连通分量连在一起所需的最小花费 不用双向 图是联通的  cost[] 维护到这里的最小花费求和 #include<stdio.h> #in ...

  6. quartz使用案例

    @Service public class QuartzServiceImpl extends BaseServiceImpl<JobDetails, String, QuartzTaskVO& ...

  7. dede使用方法----如何在wamp环境下安装dede

    dede是基本php编写的一套框架,因此在使用dede之前必须要先搭建一上php的环境.本篇文章首先讲述如何搭建一个wamp环境,再讲述如何安装dede. 准备工具:wamp , dedeCMS 1. ...

  8. 系统间通信(3)——IO通信模型和JAVA实践 上篇

    来源:http://blog.csdn.net/yinwenjie 1.全文提要 系统间通信本来是一个很大的概念,我们首先重通信模型开始讲解.在理解了四种通信模型的工作特点和区别后,对于我们后文介绍搭 ...

  9. JDK里面的JRE是什么

    就是相当于dotnet的虚拟机,dotnet的运行时环境. JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Jav ...

  10. xcoj 1208 矩阵

    赛场上一开始以为是递推,交了一发希望以为能卡着线过(毕竟是O(5N)的),结果WA了. 又以为是dp,最后半小时尝试各种YY...各种WA 实际上取每次transfer中最大的概率然后递推是不对的.. ...