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这样直接显示图形界面的还用命令。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


在Docker中,挂载目录的权限问题通常可以通过以下方法解决: 使用 -v 参数指定挂载目录时添加权限相关的选项。可以通过在挂载的目录后面添加 :ro 或 :rw 来指定...
在Ubuntu命令行中设置中文可以通过以下几种方式实现: 安装中文输入法:可以通过在命令行中安装中文输入法来在终端中输入中文。常见的中文输入法包括Fcitx、IBu...
要查看CentOS中的重启记录,可以使用以下命令: 使用last命令查看系统启动和关机记录: last reboot 使用journalctl命令查看系统日志,可以筛选出重启相关的...
要判断哪个串口在工作,可以通过以下方法: 使用命令行工具:可以使用命令ls /dev来列出系统中所有的串口设备,通常串口设备的名称以ttyS或ttyUSB开头。可以使...
要查看Linux系统中数据盘的挂载点,可以按照以下步骤进行: 打开终端窗口,输入以下命令来查看系统中已挂载的磁盘和分区信息: df -h 在显示的结果中,找到...
要更改Ubuntu系统的启动项顺序,可以按照以下步骤操作: 打开终端,输入以下命令来编辑grub配置文件: sudo nano /etc/default/grub 在打开的配置文件中...
今天小编给大家分享一下excel图案样式如何设置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希
这篇文章主要讲解了“win10设置过的壁纸如何删除”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10设置...
这篇“Xmanager怎么显示远程linux程序的图像”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希
今天小编给大家分享一下xmanager怎么连接linux的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希
这篇“如何重置Linux云服务器的远程密码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴...
本篇内容介绍了“Linux云服务器手动配置DNS的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何...
这篇文章主要介绍“Linux中如何部署Golang应用程序”,在日常操作中,相信很多人在Linux中如何部署Golang应用程序问题上存在疑惑,小编查阅了各式资料,整理出
这篇文章主要介绍“Linux云服务器中如何使用sudo”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux云服务器中
这篇文章主要讲解了“linux怎么查看服务器开放和启用的端口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习...
这篇文章主要介绍“Linux下怎么安装PHP的memcache扩展”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下怎
本文小编为大家详细介绍“linux下忘记root密码如何找回”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux下忘记root密码如何找回”文章能帮助大家解决疑惑...
本篇内容介绍了“如何更新Linux云服务器的操作系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理...
这篇“Linux云服务器入侵如何排查”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读
本篇内容主要讲解“Linux中的nohup命令如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中的nohup...