话说Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面,要修改?你一个一个文件来过吧。Debian系的则是存在/etc/network/interfaces文件里面,无论有多少块网卡,统统扔在这个文件里。下面就来看一下这个文件的内容。
 
首先,一个基本的配置大概是下面这个样子:
 
1 auto lo 
2 iface lo inet loopback 
4 # The primary network interface 
5 auto eth0 
6 iface eth0 inet static 
7 address 192.168.0.42 
8 network 192.168.0.0 
9 netmask 255.255.255.0 
10 broadcast 192.168.0.255 
11 gateway 192.168.0.1
上面的配置中,
 
第1行跟第5行说明lo接口跟eth0接口会在系统启动时被自动配置;
 
第2行将lo接口设置为一个本地回环(loopback)地址;
 
第6行指出eth0接口具有一个静态的(static)IP配置;
 
第7行-第11行分别设置eth0接口的ip、网络号、掩码、广播地址和网关。
 
 
 
再来看一个更复杂点的:
 
12 auto eth0 
13 iface eth0 inet static 
14 address 192.168.1.42 
15 network 192.168.1.0 
17 netmask 255.255.255.128 
18 broadcast 192.168.1.0 
19 up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2 
20 up route add default gw 192.168.1.200 
21 down route del default gw 192.168.1.200 
22 down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
这次,有了一个复杂一些的掩码,和一个比较奇怪的广播地址。还有就是增加的接口启用、禁用时的路由设置;
 
第19行和20行配置的左右是在接口启用的时候,添加一条静态路由和一个缺省路由;
 
第21行和22行会在接口禁用的时候,删掉这两条路由配置。
 
至于配置路由的写法,仔细看,它就是route命令嘛。
 
 
 
继续,下面是一个物理网卡上多个接口的配置方法:
 
23 auto eth0 eth0:1 
24 iface eth0 inet static 
25 address 192.168.0.100 
26 network 192.168.0.0 
27 netmask 255.255.255.0 
28 broadcast 192.168.0.255 
29 gateway 192.168.0.1 
30 iface eth0:1 inet static 
31 address 192.168.0.200 
32 network 192.168.0.0 
33 netmask 255.255.255.0
30行到33行在eth0上配置了另外一个地址,这种配置方法在配置一块网卡多个地址的时候很常见:有几个地址就配置几个接口。冒号后面的数字可以随便写的,只要几个配置的名字不重复就可以。
 
 
 
下面是pre-up和post-down命令时间。这是一组命令(pre-up、up、post-up、pre-down、down、post-down),分别定义在对应的时刻需要执行的命令。
 
34 auto eth0 
35 iface eth0 inet dhcp 
36 pre-up [ -f /etc/network/local-network-ok ]
第36行会在激活eth0之前检查/etc/network/local-network-ok文件是否存在,如果不存在,则不会激活eth0。
 
再更进一步的例子:
 
37 auto eth0 eth1 
38 iface eth0 inet static 
39 address 192.168.42.1 
40 netmask 255.255.255.0 
41 pre-up /path/to/check-mac-address.sh eth0 11:22:33:44:55:66 
42 pre-up /usr/local/sbin/enable-masq 
43 iface eth1 inet dhcp 
44 pre-up /path/to/check-mac-address.sh eth1 AA:BB:CC:DD:EE:FF 
45 pre-up /usr/local/sbin/firewall
第 41行和第44行中,check-mac-address.sh放在/usr/share/doc/ifupdown/examples/目录中,使用的时候需要给它加上可执行权限。这两行命令会检测两块网卡的MAC地址是否为11:22:33:44:55:66和AA:BB:CC:DD:EE:FF,如果正确,则启用网卡。如果MAC地址错误,就不会启用这两块网卡。
 
第42行和第45行是假定在这两块网卡上分别执行的命令,你可以把它们替换成你想要的任何玩意 :)
 
手 册上说,这种方法主要是用来检测两块网卡的MAC地址交换(If their MAC addresses get swapped),其实就是两块网卡名互换了,这种情况在debian系统上再常见不过了,主要是因为内核识别网卡的顺序发生了变化。这个问题可以用下面的这种方法来避免。
 
 
 
46 auto eth0 eth1 
47 mapping eth0 eth1 
48 script /path/to/get-mac-address.sh 
49 map 11:22:33:44:55:66 lan 
50 map AA:BB:CC:DD:EE:FF internet 
51 iface lan inet static 
52 address 192.168.42.1 
53 netmask 255.255.255.0 
54 pre-up /usr/local/sbin/enable-masq $IFACE 
55 iface internet inet dhcp 
56 pre-up /usr/local/sbin/firewall $IFACE
第48行中的get-mac-address.sh也在/usr/share/doc/ifupdown/examples/目录里,也同样要加可执行权限。这个脚本的作用,就是获得每块网卡的MAC地址。
 
这段配置首先配置了两个逻辑接口(这个名词的定义请参见debian参考手册)lan和internet,然后根据网卡的MAC地址,将逻辑接口映射(mapped)到物理接口上去。
 
 
 
再来看下面这段配置:
 
57 auto eth0 
58 iface eth0 inet manual 
59 up ifconfig $IFACE 0.0.0.0 up 
60 up /usr/local/bin/myconfigscript  
61 down ifconfig $IFACE down
这段配置只是启用一个网卡,但是ifupdown不对这个网卡设置任何ip,而是由外部程序来设置ip。
 
 
 
最后一段配置,这段配置启用了网卡的混杂模式,用来当监听接口。
 
177 auto eth0
178 iface eth0 inet manual 
179 up ifconfig $IFACE 0.0.0.0 up
180 up ip link set $IFACE promisc on 
181 down ip link set $IFACE promisc off
182 down ifconfig $IFACE down
好了,interfaces中对于以太网卡的配置基本上介绍完了。

网卡配置/etc/network/interfaces的更多相关文章

  1. 【Linux】ubuntu或linux网卡配置/etc/network/interfaces

    转自:http://gfrog.net/2008/01/config-file-in-debian-interfaces-1/   青蛙准备写一个系列文章,介绍一些Debian/Ubuntu里面常用的 ...

  2. 【转】ubuntu或linux网卡配置/etc/network/interfaces

    转自:https://www.cnblogs.com/qiuxiangmuyu/p/6343841.html 青蛙准备写一个系列文章,介绍一些Debian/Ubuntu里面常用的配置文件.当然,Lin ...

  3. Debian系网络配置 /etc/network/interfaces

    说Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面,要修改?你一个一个文件来过吧.Debian系 ...

  4. ubuntu /etc/network/interfaces 中配置虚拟链路

    ubuntu /etc/network/interfaces 中配置虚拟链路 平常做一些关于网络的测试时,像一些需要在二层上运行的功能,一个网卡不足够的情况下,可使用 ip link 工具加一些虚拟的 ...

  5. System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. ...

  6. 【树莓派】【转】利用USB网卡配置树莓派为无线热点

    由于Wifi很慢,基本不可用:树莓派有无线网卡,恰好看到有文章用树莓派来做无线热点,利用树莓派来共享无线网络.比较有用,转发后续尝试. 本文转自:https://www.embbnux.com/201 ...

  7. 【转】Ubuntu网卡配置

    一.网卡地址配置Ubuntu的网络配置文件是:/etc/network/interfaces1.以DHCP 方式配置网卡   auto eth0   iface eth0 inet dhcp用sudo ...

  8. Ubuntu 为网卡配置静态IP地址

    为网卡配置静态IP地址编辑文件/etc/network/interfaces:sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primar ...

  9. 使用ifconfig命令给网卡配置ip别名

    给网卡eth0配置一个ip别名 sudo ifconfig eth0:0 10.108.125.6/22 up 若想保存该配置,以便每次开机都可以使用该ip别名,则应 sudo vim /etc/ne ...

随机推荐

  1. Kafka配置SSL(云环境)

    本文结合一个具体的实例给出如何在公有云环境上配置Kafka broker与client之间的SSL设置. 测试环境 阿里云机一台(Server端):主机名是kafka1,负责运行单节点的Kafka集群 ...

  2. /etc/profile /etc/profile .bash_profile .bashrc解释

    1.用户登录系统时,bash首先执行/etc/profile配置文件和/etc/profile.d/目录下的配置文件,这些配置文件对系统的所有用户都有效,它们设置了普遍性的环境变量. 2.然后,Bas ...

  3. 纯css制作带三角(兼容所有浏览器)

    如何用 border 来制作三角. html 代码如下: 代码如下: <div class="arrow-up"></div> <div class= ...

  4. VIM 如何使用系统的剪切板

    想要将系统剪贴板里的内容复制到 vi 编辑的文档中怎么办? 例如,在网页上复制了一段文字,想贴到本地的某个文件中. 使用 vi 打开本地文件,在 输入 模式下,按 Shift + Insert 详细可 ...

  5. jQuery Sizzle选择器(二)

    自己开始尝试读Sizzle源码.   1.Sizzle同过自执行函数的方式为自己创建了一个独立的作用域,它可以不依赖于jQuery的大环境而独立存在.因此它可以被应用到其它js库中.实现如下:(fun ...

  6. jQuery的init都做了些什么

    // 初始化jQuery对象,即jQuery.fn.init对象 // @param selector 选择器,可能是DOM对象.html字符串.jQuery对象.函数或其他任意值. // @para ...

  7. Android studio 运行demo时一直卡在"Installing APKS"时的解决办法

    现象 一 File --- Settings 二 看图操作

  8. LeetCode 40 Combination Sum II(数组中求和等于target的所有组合)

    题目链接:https://leetcode.com/problems/combination-sum-ii/?tab=Description   给定数组,数组中的元素均为正数,target也是正数. ...

  9. 23种设计模式之备忘录模式(Memento)

    备忘录模式确保在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态.备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定 ...

  10. 【BZOJ1814】Ural 1519 Formula 1 插头DP

    [BZOJ1814]Ural 1519 Formula 1 题意:一个 m * n 的棋盘,有的格子存在障碍,求经过所有非障碍格子的哈密顿回路个数.(n,m<=12) 题解:插头DP板子题,刷板 ...