CentOS的网络配置简析

我们在进行对CentOS的网络配置时,一般会从IP地址(IPADDR)、子网掩码(NETMASK)、网关(Gateway)、主机名(HOSTNAME)、DNS服务器等方面入手。而在CentOS中,又有着不同的命令或配置文件可以完成这些配置操作,接下来,我们将从ifcfg系命令,iproute2系命令以及配置文件3个方面来简析网络配置的方法。

一、ifcfg系命令

ifcfg系命令包括ifconfig,route,netstat和hostname。

1、ifconfig命令

用来配置一个网络接口。它的使用格式如下:

a):ifconfig [-a] [interface]

-a:表示显示所有的网络接口信息,包括inactive状态的接口

~]# ifconfig -a

b):ifconfig IFACE(网络接口名,下同) IPADDR netmask NETMASK [up|down]

表示通过ifconfig命令直接修改接口的ip地址和netmask,并可启停该接口。

该命令会将配置参数立即送往内核中的TCP/IP协议栈,所以会立即生效,但是重启服务后会无效。

~]# ifconfig eth1 172.16.7.14 netmask 255.255.0.0
~]# ifconfig eth1 172.16.7.14/16 down

2、route命令

显示和配置ip路由表。它的使用格式如下:

a):route [-n]

表示查看全部的路由表,并以数字显示ip地址

~]# route -n

b):route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

添加相应接口的路由

~]# route add -host 172.16.7.14 gw 172.16.0.1 dev eth1  #主机路由
~]# route add -net 172.16.7.0/24 gw 172.16.0.1 dev eth1  #网段路由
~]# route add default gw 172.16.0.1 dev eth1  #默认路由

c):route del [-net|-host] target [netmask Nm] [[dev] If]

删除路由

~]# route del -host 172.16.7.14 dev eth1  
~]# route del -net 172.16.7.0/24 dev eth1
~]# route del default dev eth1

3、netstat命令

显示网络连接,路由表,接口状态等。它的使用格式如下:

netstat [-n] [-r] [-p] [-e] [-a] [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [-i] [-I<IFACE>]

-n:以数字格式显示ip和端口号,不做地址转换;

-r:显示内核路由表

-p:显示相关的进程和PID

-e:显示扩展格式

-a:显示所有的连接状态

-t:显示tcp协议的相关连接的状态

-u:显示udp协议的相关连接的状态

-w:显示raw socket相关连接的状态

-l:显示处于监听状态的连接

-i:显示所有接口状态

-I<IFACE>:显示特定的接口状态

以上个选项可组合使用,常用组合有-tan,-uan,-tln,-uln,-tunlp等

~]#  netstat -tan
~]#  netstat -Ieth1

4、hostname命令

显示配置主机名。它的使用格式如下:

hostname:显示当前主机名

hostname HOSTNAME:修改当前主机名为HOSTNAME,仅当前有效,重启无效。

~]# hostname
~]# hostname TEST

5、hostnamectl命令(CentOS7新增)

显示配置主机名。它的使用格式如下:

hostnamectl [status]:显示当前主机名信息

hostnamectl set-hostname:设定主机名,永久有效

~]# hostnamectl set-hostname CentOS7

二、iproute2系命令

iproute2系命令有ip link,ip addr,ip route,ip netns和ss等。

1、ip link命令

配置网络接口属性。它的使用格式如下:

a):ip link set [dev] IFACE [up|down] [multicast on|off] [name IFACE] [mtu NUMBER]

up and down:启动或禁止选定的网络接口

multicast on or multicast off:启动或禁止组播功能

name NAME:重命名接口(命名前需先down掉接口)

mtu NUMBER:设置接口的mtu大小,默认为1500

~]# ip link set eth1 name eth2 up
~]# ip link set eth2 multicast off mtu 1000

b):ip link [show|list]

显示全部网络接口的属性。

~]# ip link show

2、ip addr命令

配置网络接口的ip地址。它的使用格式如下:

a):ip addr add IPADDR dev IFACE [label NAME] [broadcast ADDRESS] [scope SCOPE_VALUE]

增加一个ip地址。

[label NAME]:为额外添加的地址指明接口别名

[broadcast ADDRESS]:会根据ip和netmask自动计算,不用填

[scope SCOPE_VALUE]:gloal全局可用;link接口可用;host:本机可用

~]# ip addr add 172.16.7.14/24 dev eth1 label eth1:0

b):ip addr delete IPADDR dev IFACE

删除一个ip地址。

~]# ip addr del 172.16.7.14/24 dev eth1:0

c):ip addr show [dev IFACE|label IFACE:#]

仅显示指定的接口地址。

~]# ip addr show label eth1:0
~]#  ip  addr  show  eth1

d):ip addr flush [dev] {IFACE|label IFACE:#}

清空指定的所有地址或别名的地址。

~]# ip addr flush label eth1:0
~]#  ip  addr  flush  eth1

3、ip route命令

配置接口的路由表信息。它的使用格式如下:

a):ip route add TYPE PREFIX(目标网络)via GateWay [dev IFACE] [src SOURCE_IP]

添加路由表。

~]# ip route add 172.16.7.14 via 172.16.0.1 dev eth1
~]#  ip  route  add  172.16.7.0/24  via  172.16.0.1  dev  eth1
~]#  ip  route  add d efault  via  172.16.0.1  dev  eth1

b):ip route del TYPE PREFIX

删除路由表。

~]# ip route del 172.16.7.14
~]# ip route del 172.16.7.0/24

c):ip route show

显示路由表。

~]# ip route show

d):ip route flush dev IFACE

清空指定接口的所有路由表。

~]# ip route flush dev  eth1

4、ss命令

和netstat命令一样用来查看网络状态,其选项参数和netstat命令基本相同,但是其查询速度比netstat命令要快。它的使用格式如下:

ss [options] [filter]

filter:过滤器    FILTER := [ state TCP-STATE ] [ EXPRESSION ]

选项:

-t:TCP协议的相关连接

-u:UDPF相关的连接

-w:raw socket相关的连接

-l:处于监听状态的连接

-a:所有状态

-n:以数字格式显示IP和Port

-e:扩展格式

-p:显示相关的进程及PID

-m:内存用量

-o:计时器信息

EXPRESSION:

dport:目标端口

sport:源端口

‘( dport = :22 or sport = :22 )’

~]# ss -tan  #查看当前网络所以tcp的连接状态

三、网络配置文件

在CentOS系统上我们可以通过对修改不同的网络配置文件来使得配置网络接口的各种属性,不过要使其永久有效,还需使内核重读修改后的配置文件。

1、IP/NETMASK/GW/DNS等属性的配置文件:

其路径为:/etc/sysconfig/network-scripts/ifcfg-IFACE

其格式为:

DEVICE:此配置文件对应的设备的名称;

ONBOOT:在系统引导过程中,是否激活此接口;

NETBOOT:是否支持网络引导;

UUID:设备的唯一标识;

IPv6INT:是否初始化IPv6;

BOOTPROTO:激活此接口时使用什么协议来配置属性,常用dhcp、bootp、static、none

TYPE:接口类型,常见的有ethernet、bridge;

DNS1:第一DNS服务器指向;

DNS2:备用DNS服务器指向;

DOMAIN:DNS搜索域;

GATEWAY:默认网关;

IPADDR:本机ip地址;

NETMASK:子网掩码;CentOS7支持使用PREFIX以长度指明子网掩码;

USERCTL:是否允许普通用户控制此设备;

PEERDNS:如果BOOTPROTO的值为“dhcp”,是否运行dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许

HWADDR:设备的MAC地址;

NM_CONTROLLED:是否使用NetworkManager服务来控制接口;

network-scripts]# cat ifcfg-eth1
DEVICE="eth1"
ONBOOT=yes
NETBOOT=yes
IPADDR=172.16.7.14
DNS=172.16.0.1
GATEWAY=172.16.0.1
NETMASK=255.255.0.0
IPV6INIT=no
BOOTPROTO=none
TYPE=Ethernet

2、路由的相关配置文件:

其路径为:/etc/sysconfig/network-scripts/route-IFACE

其格式为:(不可混用)

a):每行一个路由条目:

TARGET via GW

b):每三行一个路由条目:

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

network-scripts]# cat route-eth1 
172.16.7.0/24 via 172.16.0.1


3、主机名的相关配置文件:

其路径为:/etc/sysconfig/network

其格式为:

HOSTNAME=<HOSTNAME>

sysconfig]# cat network
# Created by anaconda
HOSTNAME=centos7.1

4、DNS服务器指向配置文件:

其路径为:/etc/resolv.conf

其格式为:

nameserver DNS_SERVER_IP

etc]# cat resolv.conf 
# Generated by NetworkManager
search magelinux.com
nameserver 172.16.0.1

四、结语

在学习Linux的路上,网络是非常重要的一环,其命令也在不断改进着,很多命令有着相同的作用,可以选择先记忆比较简单和高效的命令和参数。除上述命令之外,在CentOS7中也有着如nmtui这样直接显示图形界面的还用命令。

参考:www.magedu.com

http://letitbe1028.blog.51cto.com/7901525/1699061

http://kgdbfmwfn.blog.51cto.com/5062471/1691067

时间: 2024-10-24 14:11:09

CentOS的网络配置简析的相关文章

centos常用网络配置

定义IP地址:  1.root#vim /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑网卡的配置文件    DEVICE=eth0 #网卡设备名称    ONBOOT=yes  #网卡是不是要自动启动    IPADDR=192.168.1.1 #IP地址    NETMASK=255.255.255.0 #掩码    GATEWAY=192.168.1.254  #网关    DNS1=202.96.134.133  #主DNS    DNS2=8.

CentOS Ubuntu网络配置

CentOS网络配置 开启网络功能#vi /etc/sysconfig/network重要参数:        NETWORKING=yes            要不要有网络        NETWORKING_IPV6=no        是否支持 IPv6        HOSTNAME=主机名 网卡的配置文件 相关的网络配置文件和目录:    /etc/sysconfig/network-scripts/        存放网卡的配置文件的目录    以/etc/sysconfig/ne

vbox虚拟机 CentOS/Ubuntu 网络配置

CentOS网络配置 开启网络功能 #vi /etc/sysconfig/network 重要参数: NETWORKING=yes                  要不要开启网络功能,当然yes啊 NETWORKING_IPV6=no          是否支持 IPv6 HOSTNAME=主机名 网卡的配置文件 相关的网络配置文件和目录: /etc/sysconfig/network-scripts/            存放网卡的配置文件的目录 以/etc/sysconfig/netwo

virtualbox中centos虚拟机网络配置

本文讲述的是如何在Oracle VM VirtualBox安装的CentOS虚拟机中进行网络配置,使得虚拟机可以访问宿主主机,也能访问外网,宿主主机可以访问虚拟机,虚拟机之间也可以相互访问. 在VirtualBox中虚拟机的配置方式有四种,这四种连接方式的原理和区别与联系可以参考一位园友的博文:https://www.cnblogs.com/adforce/archive/2013/10/11/3363373.html,这是我见过阐述得比较详细的,所以本文对这四种连接方式便不再作过多说明,这里要

hyper-v 安装Centos及网络配置

新安装的Centos系统默认情况下是不能上网的,需要经过相应的配置:选择对应的虚拟机,点击"虚拟交换机管理器": 设置hyper-v上的网络及分配cpu.内存.磁盘等资源. 安装CentOS7 过程中,先设置网关.IP.子网掩码. 安装完成启动系统后需要用root帐号登录: 桌面右击打开终端命令窗口: 输入以下命令,进入网络配置文件目录: cd  /etc/sysconfig/network-scripts/ 输入ls(注意是小写英文字母L,不是1)命令查看具体包含了哪些文件: 通过v

Centos的网络配置命令和文件

一.ifcongfig Centos6之前最常用的配置网络命令就是ifconfig,使用ifconfig命令时最好切换到root用户的身份 1.直接使用ifconfig可以查看当前配置的网络设备的信息 例如 [[email protected] ~]# ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet 172.16.9.9  netmask 255.255.0.0  b

VM下Centos的网络配置

vm下网络配置主要有两种:桥接模式和nat模式: 个人理解: 桥接模式:虚拟机系统作为独立的终端参与网络 nat模式:虚拟机系统作为主机的子终端参与网络 在局域网中,加入我们有A和B两台PC在同一个路由器下.A和B处于相同局域网,ip分别是192.168.1.2和192.168.1.3    子网掩码255.255.255.0,网关,dns都是192.168.1.1(路由器的局域网ip) 现在,我们在A上装VM,虚拟启动三个centos6.5  分别叫做a  b c 如果使用桥接模式,那么  a

CentOS的网络配置(终端环境)

在虚拟机中安装了Server版的CentOS,用于做Hadoop相关的实验.Server版的CentOS默认是没有桌面环境的,eth0的网络默认也没有开启,需要我们手动启动网络. 关键配置说明 网络和主机名的配置:vim /etc/sysconfig/network. 配置文件内容如下: NETWORKING=yes #使用网络 HOSTNAME=centos #设置主机名称 网卡配置:vim /etc/sysconfig/network-scripts/ifcfg-eth0 eth0表示第一块

centOS中网络配置相关文件配置选项说明

CentOS 修改IP地址等网络相关的配置文件 找到对应网卡的IP地址配置文件:ifcfg-eth数字.路径:/etc/sysconfig/network-scripts/ifcfg-eth数字文件内配置项说明 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0  BOOTPROTO=static #设置网卡获得ip地址的方式,选项有:static(静态),dhcp(通过DHCP获取IP)或bootp(使用BOOTP协议获得IP)  BROADCAST