Linux中不同distribution中配置网络的方法大同小异。以下介绍RHEL6系列,SUSE11, Ubuntu12.04的配置
CentOS,RHEL
/etc/sysconfig/network
NETWORKING=yes # 系统启动时是否启动网络
HOSTNAME=zhubinqiangPC # 定义主机名
/etc/udev/rules.d/70-persistent-net.rules 得到网卡的MAC地址
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:58:5f:4b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
/etc/sysconfig/network-scripts/ifcfg-eth0 配置网卡
配置项有很多个,以下只列出部分重要的。具体可以参考 /usr/share/doc/initscripts-*/sysconfig.txt
DEVICE=eth0 # 网卡代号,必须与ifcfg-eth0相对于
HWADDR=00:0c:29:58:5f:4b # MAC 地址, 如果只有一个网卡,可以省略
TYPE=Ethernet # 网络接口格式 这里是以太网格式
UUID=371ea884-5bb7-4e03-9913-127fd7e787ae # nmcli con 可得到 未知什么意思
ONBOOT=yes # 开机启动
NM_CONTROLLED=yes # controlled by NetworkManager
BOOTPROTO=static # static 和 none 功能相同,表示手动配置, dhcp表示动态获取IP
IPADDR=192.168.1.211 # IP 地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 默认网关,如果有多个网卡配置文件 只须配置一个即可
USERCTL=no # 是否允许非root用户控制该设备
PEERDNS=yes # yes表示由DHCP来获取DNS, no表示 /etc/resolv.conf 来控制
IPV6INIT=no # 是否允许IPV6
修改完配置文件要重启网络
/etc/init.d/network restart
通过ifconfig来配置网络
查看所有网卡
ifconfig -a
此配置在重启网络后会失效,恢复为ifcfg-eth0为主的配置
ifconfig eth0 192.168.0.211 netmask 255.255.255.0
ifconfig eth0 192.168.0.211/24
修改网卡MAC地址
ifconfig eth0 hw ether 00:0C:29:58:5F:4C
开启和禁用网卡
ifconfig eth0 up
ifconfig eth0 down
ifup和ifdown来激活与关闭网卡
用ifup来激活 ifcfg-eth0文件要配置正确, 实际是通过/sbin/ifup 来调用相关脚本。
注意 一旦用ifconfig 来激活 就不能用ifdown来关闭。 一定要ifconfig才行。因为ifdown会比较当前网络与ifcfg-eth0是否相同,如果不同放弃ifdown的操作
ifup eth0 #激活
ifdown eth0 #关闭
ifconfig eth0 up #激活
ifconfig eth0 down #关闭
/etc/resolv.conf 定义DNS服务器
# Generated by NetworkManager
domain localdomain
search localdomain # 查找计算机名是 默认属于该域
nameserver 192.168.157.2 # DNS 服务器地址, 可以配置多个
通过DHCP获取IP
通过修改ifcfg-ethX的BOOTPROTO=dhcp并重启网络 或者以下方法
dhclient eth0
/etc/hosts 配置
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
修改hostname
1.修改/etc/sysconfig/network
2.修改/etc/hosts
Ubuntu12.04
参考官方文档 https://help.ubuntu.com/12.04/serverguide/network-configuration.html
通过lshw 得到MAC地址
lshw -c network
*-network
description: Ethernet interface
product: 79c970 [PCnet32 LANCE]
vendor: Hynix Semiconductor (Hyundai Electronics)
physical id: 1
bus info: pci@0000:02:01.0
logical name: eth0
version: 10
serial: 00:0c:29:77:82:a2
width: 32 bits
clock: 33MHz
capabilities: bus_master rom ethernet physical logical
configuration: broadcast=yes driver=pcnet32 driverversion=1.35 ip=192.168.157.183 latency=64 link=yes maxlatency=255 mingnt=6 multicast=yes
resources: irq:19 ioport:2000(size=128) memory:d8400000-d840ffff
/etc/network/interfaces 配置网卡
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static # 如果是dhcp 则把static改为dhcp
hwaddress ether 00:13:20:f9:f4:d3 #MAC
address 192.168.1.10 # IP 地址
netmask 255.255.255.0 # 子网掩码
gateway 192.168.1.1 # 网关
重启网络 生效配置
/etc/init.d/networking restart
/etc/hosts 配置
127.0.0.1 localhost
127.0.1.1 zbq-pc
192.168.157.136 zbq-pc
192.168.157.151 itms-server
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
hostname 修改 /etc/hostname
SUSE11
cat /etc/udev/rules.d/70-persistent-net.rules 查看MAC
修改 /etc/sysconfig/network/ifcfg-eth0
BOOTPROTO='dhcp'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME='82545EM Gigabit Ethernet Controller (Copper)'
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
重启网络
/etc/init.d/network restart