话说Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面,要修改?你一个一个文件来过吧。Debian系的则是存在/etc/network/interfaces文件里面,无论有多少块网卡,统统扔在这个文件里。下面就来看一下这个文件的内容。
 
首先,一个基本的配置大概是下面这个样子:
 
1 auto lo 
2 iface lo inet loopback 
3 
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. 利用DB实现简单去重处理

    业务需要针对某文件进行判重操作,用Perl实现如下 #!/usr/bin/perl my %h; s/\s+$// and $h{$_}++ while <>; print "$ ...

  2. 一句话shell

    作者:NetSeek1.删除0字节文件find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列ps -e -o "%C : %p : % ...

  3. Android设计和开发系列第二篇:Action Bar(Develop—API Guides)

    Action Bar IN THIS DOCUMENT Adding the Action Bar Removing the action bar Using a logo instead of an ...

  4. linux计划任务之crontab

    语法:        crontab [ -u user ] file        crontab [ -u user ] [ -i ] { -e | -l | -r } 说明: crontab命令 ...

  5. vue经验 - 那些自己给自己挖的深坑

    深坑场景:vue-异步请求数据,数据还没回来,页面却如饥似渴的准备好了的尴尬场景:问题原因和解决如下: 1.先说vuex中的store,一开始我为了偷懒是这么设置的,如下图: 然后我到了组件中直接这么 ...

  6. ThinkPad L421 如何进入BIOS?(已解决)

    开机屏幕出现ThinkPad标志时,快速按下 F1键 即可进入BIOS

  7. tar解压包的时候出现错误 gzip: stdin: not in gzip format

    在Linux环境下,通过tar -zxvf 命令解压文件时遇到”gzip: stdin: not in gzip format“等错误:如图所示 root@cmfchina:/usr/java# ta ...

  8. window下node更新

    打开cmd查看你之前node版本安装的路径,where node: 直接去官网下载与你电脑系统(32位还是64位)对应的最新的mis版本,安装在上述路径中覆盖即可. 注意:windows上并不支持n模 ...

  9. H3C系列之三层交换机开启telnet管理的配置

    环境介绍>>>>>>>>>>>>>>>>>>>>交换机名牌:H3C交换机类型:三 ...

  10. Linux系统java环境jdk的安装

    在linux环境中jdk的安装有两种方式,一为rpm安装机制,另一种为源码安装(已编译好)因此在ORACLE官网提供两种安装文件,一为rpm格式,另一种为gz格式,两种的安装方式都大同小异的. 1.r ...