您的位置:首页 > 理论基础 > 计算机网络

linux系统初始化--​配置主机网络

2017-01-12 13:10 597 查看

配置主机网络

安装完成linux 系统后,我们需要为主机配置一个可用的网络地址
下面以配置eth0接口为例来说明下
说明
在RHEL7中重新定义了Linux网卡的命名规则,不再遵循原来的eth[0,1,……]。下面的例子中全部使用RHEL6的示例。
关于RHEL7的网卡命名原则
在进行centos7的pxe安装测试中发现了网卡命名不再遵从来有的命名规则而启用了最新的命名方式,官网文档描述如下:
在 Red Hat Enterprise Linux 7 中,systemd 和 udevd 支持大量不同的命名方案。默认行为是根据固件、拓扑及位置信息分配固定名称。这个命名方法的优点是完全自动且可预测,即使添加或者删除硬件也不会变化(未 发生重新列举),且可以在不产生任何影响的情况下替换破坏的硬件。这个行为的缺点是名称有时比之前使用的名称难读,例如使用 enp5s0 替换 eth0。
目前 udevd 本身就支持下列命名方案。
方案 1

合并固件或者 BIOS 的名称为板载设备提供索引号的名称,例如:eno1。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 2 作为备选。
方案 2

合并固件或者 BIOS 的名称提供 PCI 快捷热插拔插槽索引号的名称,例如 ens1。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 3 作为备选。
方案 3

合并硬件连接器物理位置的名称,例如:enp2s0。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 5 作为备选。
方案 4

合并接口 MAC 地址的名称,例如:enx78e7d1ea46da。默认情况下 systemd 不会根据这个方案命名接口,但如果需要可以启用这个功能。
方案 5

传统的不可预测内核属性 ethX 命名,例如:eth0。如果其他所有方法都失败,systemd 就根据这个方案命名接口。
如果该系统启用了 BIOSDEVNAME,或者用户已添加更改内核设备名称的 udevd 规则,则这些规则将替代默认的 systemd 策略。
说到这里,估计大家都知道了,那么如果对于怀旧的人们来说,想让RHEL7继续使用eth0这种人类可以理解的方式的话如何修改呢,方法如下
编辑/etc/sysconfig/grub文件内容,增加“net.ifnames=0”,如下——
GRUB_CMDLINE_LINUX="vconsole.keymap=us crashkernle=auto vconsole.font=latarcyrheb-sun16 net.ifnames=0 rhgb quiet"
执行:grub2-mkconfig -o /boot/grub2/grub.cfg
然后重命名配置文件——
mv /etc/sysconfig/network-scripts/ifcfg-enp0s3 ifcfg-eth0
注意把配置文件里面的“NAME=enp0s3”修改成“eth0”。
最后重启系统,就一切OK了!
Shell># vi/etc/sysconfig/network-script/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:C9:F2:34
TYPE=Ethernet
UUID=f7710b52-b28d-4435-8ae3-8c095a094677
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=10.10.2.31
NETMASK=255.255.255.0
GATEWAY=10.10.2.254
DNS1=10.10.2.250
DNS2=8.8.8.8
因ifcfg-ethx中的信息较多,大部分我们用不到,下表中我们来说明下网卡配置文件中的选项和其意义。
选项
说明
备注
DEVICE
物理设备的逻辑名称,如eth0,或者eno16777736,如果是ppp设备,可以没有这个选项。
NAME
网络链接的名称,可以为任意字符串,不包含特殊符号,一般与DEVICE名称一致,也可以根据现实情况修改。
可以不填写
HWADDR
物理设备的MAC地址
可以不填写
MACAADR
物理设备MAC地址,可以不设定,也可以与HWADDR同时设定,同时设定时,必须一致
可以不填写
TYPE
物理设备类型,可以选下面中的任意一种。
loop (Local Loopback)

slip (Serial Line IP)

cslip (VJ Serial Line IP)

slip6 (6-bit Serial Line IP)

cslip6 (VJ 6-bit Serial Line IP)

adaptive (Adaptive Serial Line IP)

strip (Metricom Starmode IP)

ash (Ash)

ether (Ethernet)

tr (16/4 Mbps Token Ring)

tr (16/4 Mbps Token Ring (New))

ax25 (AMPR AX.25)

netrom (AMPR NET/ROM)

rose (AMPR ROSE)

tunnel (IPIP Tunnel)

ppp (Point-to-Point Protocol)

hdlc ((Cisco)-HDLC) lapb (LAPB)

arcnet (ARCnet)

dlci (Frame Relay DLCI)

frad (Frame Relay Access Device)

sit (IPv6-in-IPv4)

fddi (Fiber Distributed Data Interface)

hippi (HIPPI)

irda (IrLAP)

ec (Econet)

x25 (generic X.25)

infiniband (InfiniBand)

写了这一片,我都想吐槽自己,这个东西真心没必要去写入到配置文件中。系统在启用网卡的时候会自动的判断这个设备是啥类型的,如果这点都做不到,就可以去死了。
UUID
全球唯一标识符,干啥用的????
可以不填写
ONBOOT
是否开机时启用该设备,布尔型输入
yes 开机时启动该设备

no 开机时不启动该设备

不用网络就填no
NM_CONTROLLED
NetManager服务控制,当NetManager服务启用时,当修改网卡配置文件时,系统自动应用网卡配置文件,布尔型输入
yes 允许NetManager控制

no 不允许NetManger控制。

说明:默认值是no
推荐设定成no或者不输入,更推荐关闭NetManger服务,避免领导找你喝茶,哈哈。
USERCTL
是否允许非root用户控制该设备,布尔型输入
yes 非root用户可以控制该设备

no 非root用户被禁止控制该设备

推荐设定成no,
BOOTPROTO
启动协议。这个是针对DHCP来说的,
none 不使用boot协议

static 使用静态IP地址

bootp 使用bootp协议

dhcp 使用dhcp协议

看需要吧,对于服务器更多是时none或者static,也可以不写。
PEERDNS
是否指定DNS,如果使用dhcp协议,默认为yes。布尔型输入
yes,如果设置DNS,修改/etc/resolv.conf

no 不修改/etc/resolv.conf

可以不输入,dhcp时默认为yes,其它推荐设置为no
IPV6INIT
是否初始化IPv6,布尔型输入
yes 启用IPv6

no 不启用IPv6

默认为yes
DEFROUTE
默认路由
PEERROUTES
布尔型输入
yes 启用

no 不启用

IPV4_FAILURE_FATAL
IPV6_AUTOCONF
IPV6_DEFROUTE
IPV6_PEERDNS
IPV6_FAILURE_FATAL
IPADDR
网卡IPv4地址设定,格式为点分十进制,示例如下
IPADDR=192.168.1.1
NETMASK
网卡IPv4子网掩码设定,格式为点分十进制,示例如下
NETMASK=255.255.255.0
PREFIX
子网掩码长度,可以单独使用,也可以与NETMASK一起使用。推荐不要写入这个,偶尔会出问题!哈哈。示例如下
PREFIX=24
推荐不使用
NETWORK
网卡IPv4网络地址设定,格式为点分十进制
可以不设定
BROADCAST
网卡IPv4广播地址设定,格式为点分十进制
可以不设定
GATEWAY
网卡IPv4网关设定,格式为点分十进制
可以不设定
IPV6ADDR
网卡IPv6地址,格式为十六进制
IPV6DEFAULTGW
网卡IPv6网关地址,
DNS1
网卡主DNS服务器地址设定
DNS2
网卡辅DNS服务器地址设定
MASTER
这个不属于网络配置选项,在双网卡绑定时使用
SLAVE
这个不属于网络配置选项,在双网卡绑定时使用
配置完成后,重新启动网络服务
RHEL6
Shell># service network restart
RHEL7
Shell># service network restart
或者
Shell># systemctl restart network.service
验证
RHEL6
Shell># ip addr
Shell># ifconfig –a
RHEL7
Shell># ip addr
Shell># ifcfg –a
说到这里了,我们说下linux下动态修改ip和其它网络配置的命令及其方法吧。
说明:
RHEL7中最小化安装时不在包括ifconfig命令了,在RHEL7中,可以使用ifcfg命令来实现部分ifconfig的功能接口地址全部使用eth0 作为示例,如RHEL7中有明显不同的,会特别指出。
查看接口详细信息
Shell># ifconfig [ ] [ -a ] [ -v ]
输出如下
eth0 Link encap:Ethernet HWaddr 00:0C:29:A4:9A:76
inet addr:192.168.8.140 Bcast:192.168.8.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fea4:9a76/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:983 errors:0 dropped:0 overruns:0 frame:0
TX packets:456 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:77387 (75.5 KiB) TX bytes:62593 (61.1 KiB)
Interrupt:19 Base address:0x2000

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:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
查看接口数据包统计
RHEL6
Shell># ifconfig –s [device]
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 1024 0 0 0 467 0 0 0 BMRU
lo 65536 0 0 0 0 0 0 0 0 0 LRU
RHEL7
Shell>#ifstat [device]
#kernel
Interface RX Pkts/Rate TX Pkts/Rate RX Data/Rate TX Data/Rate
RX Errs/Drop TX Errs/Drop RX Over/Rate TX Coll/Rate
lo 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
eno16777736 10 0 6 0 830 0 1036 0
0 0 0 0 0 0 0 0
关闭接口
Shell># ifconfig eth0 down
Shell># ifcfg eth0 down
开启接口
Shell># ifconfig eth0 up
Shell># ifcfg eth0 up
配置或者修改网络地址(以IPv4为例)
Shell># ifconfig eth0 192.168.8.145/24
Shell># ifcfg eth0 192.168.8.145/24(存在疑问?好像在RHEL7中有问题)
添加第二(或更多)地址
Shell># ifconfig eth0 add192.168.8.140/24
删除第二(或更多)地址
Shell># ifconfig eth0 del192.168.8.140/24
修改子网掩码
Shell># ifconfig eth0 netmask 255.255.254.0
修改默认网关(仅RHEL6可用)
Shell>#route add default gw192.168.8.2
修改DNS
shell># vi /etc/resolv.conf
内容如下
nameserver ip_addr
示例
nameserver 8.8.8.8
可以填写多个,一般填两个就好了。
修改主机名称
Shell># hostname your_new_hostname
永久化保存
Shell># vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=your_new_hostname
好了,说多了,就先这样了,RHEL7的后期在补充吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 网卡 接口