热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS的网络配置简析

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

我们在进行对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

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

-r:显示内核路由表

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

-e:显示扩展格式

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

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

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

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

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

-i:显示所有接口状态

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

以上个选项可组合使用,常用组合有-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=

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


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 我一直都有记录信息的习惯,不知是从什么时候开始,大约是在工作后不久。如今还真有点庆幸从那时开始记了点东西,当然是电子版的,写 ... [详细]
author-avatar
密斯特_张_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有