一、ifconfig
1、ifconfig是什么?
ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring。配置网卡的IP地址语法例:ifconfig eth0 192.168.0.1 netmask 255.255.255.0
2、语法
ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
3、参数说明
add<地址> 设置网络设备IPv6的IP地址。
del<地址> 删除网络设备IPv6的IP地址。
down 关闭指定的网络设备。
<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
io_addr<I/O地址> 设置网络设备的I/O地址。
irq<IRQ地址> 设置网络设备的IRQ。
media<网络媒介类型> 设置网络设备的媒介类型。
mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
mtu<字节> 设置网络设备的MTU。
netmask<子网掩码> 设置网络设备的子网掩码。
tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
up 启动指定的网络设备。
-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
-promisc 关闭或启动指定网络设备的promiscuous模式。
[IP地址] 指定网络设备的IP地址。
[网络设备] 指定网络设备的名称。
4、实例
[root@ localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
Interrupt:185 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2022 errors:0 dropped:0 overruns:0 frame:0
TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)
启动关闭指定网卡
[root@ localhost ~]# ifconfig eth0 down
[root@ localhost ~]# ifconfig eth0 up
为网卡配置和删除IPv6地址
[root@ localhost ~]# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 # 为网卡诶之IPv6地址
[root@ localhost ~]# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 # 为网卡删除IPv6地址
用ifconfig修改MAC地址
[root@ localhost ~]# ifconfig eth0 down //关闭网卡
[root@ localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@ localhost ~]# ifconfig eth0 up //启动网卡
[root@ localhost ~]# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址
[root@ localhost ~]# ifconfig eth1 up //启动网卡
配置IP地址
[root@ localhost ~]# ifconfig eth0 192.168.1.56
# 给eth0网卡配置IP地址
[root@ localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
# 给eth0网卡配置IP地址,并加上子掩码
[root@ localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
# 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
启用和关闭ARP协议
[root@ localhost ~]# ifconfig eth0 arp //开启
[root@ localhost ~]# ifconfig eth0 -arp //关闭
设置最大传输单元
[root@ localhost ~]# ifconfig eth0 mtu 1500
//设置能通过的最大数据包大小为 1500 bytes
二、ifup 和 ifdown
实时地手动修改一些网络接口参数,可以利用 ifconfig 来实现,如果是要直接以配置文件,亦即是在 /etc/sysconfig/network-scripts 里面的 ifcfg-ethx 等文件的设置参数来启动的话,那就得要通过 ifdown 或 ifup 来实现了。
[root@ localhost ~]# ifup {interface}
[root@ localhost ~]# ifdown {interface}
[root@ localhost ~]# ifup eth0
ifup 与 ifdown 真是太简单了。这两个程序其实是 script 而已,它会直接到 /etc/ sysconfig/network-scripts 目录下搜索对应的配置文件,例如 ifup eth0,它会找出 ifcfg-eth0 这个文件的内容,然后加以设置。关于 ifcfg-eth0 的设置请参考下面的说明。
不过,由于这两个程序主要是搜索设置文件(ifcfg-ethx)来进行启动与关闭的,所以在使用前请确定 ifcfg-ethx 是否真的存在于正确的目录内,否则会启动失败。另外,如果以 ifconfig eth0 来设置或者是修改了网络接口后,就无法再以 ifdown eth0 的方式来关闭了。因为 ifdown 会分析比较目前的网络参数与 ifcfg-eth0 是否相符,不符的话,就会放弃这次操作。因此,使用 ifconfig 修改完毕后,应该要以 ifconfig eth0 down 才能够关闭该接口。
三、配置 ifcfg-eth0
网络接口配置文件 ifcfg-eth0 在 /etc/sysconfig/network-script 在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0 是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推 ifcfg-eth1、ifcfg-eth2、ifcfg-eth3 ……
配置项目说明(形式:设定项=值):
DEVICE 接口名(设备,网卡)
USERCTL [yes|no](非root用户是否可以控制该设备)
BOOTPROTO IP 的配置方法 [none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
HWADDR MAC地址
ONBOOT 系统启动的时候网络接口是否有效(yes/no)
TYPE 网络类型(通常是Ethemet)
NETMASK 网络掩码
IPADDR IP地址
IPV6INIT IPV6是否有效(yes/no)
GATEWAY 默认网关IP地址
BROADCAST 广播地址
NETWORK 网络地址
例如,可以设置成这样:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:0C:2x:6x:0x:xx
IPADDR=192.168.1.23
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet