RedHat系列linux网络属性配置

一、Linux网络管理基础

1 路由条目

目标地址 经下一跳(nexthop)

目标地址的类别:

单个主机: 主机路由

网路接口: 网络路由

目标地址为0.0.0.0/0.0.0.0: 默认路由

2 将linux主机接入到网络中:

IP/NETMASK: 本地通信

路由(网关): 酷网络通信

DNS服务器地址: 基于主机名的通信

主dns服务器地址

备用dns服务器地址

第三备用dns服务器地址

配置方式:

静态指定

命令指定:

ifcfg家族

ifconfig: 配置IP,NETMASK

route: 配置路由

netstat: 状态及网络统计数据查看

iproute家族

ip OBJECT:

addr: 地址和掩码配置

link: 管理接口

route: 路由

ss: 状态及统计数据查看

CentOS 7: nm家族(network manager)

nmcdi: 命令行工具

nmtui: 图形窗口工具

注意: 

(1) 定义DNS服务器指令

配置文件: /etc/resolv.conf

(2) 本地主机名配置

hostname

配置文件: /etc/sysconfig/network

CentOS 7: hostnamectl

修改配置文件:

RedHat及其相关发行版:

/etc/sysconfig/network-scripts/ifcfg-METCARD_NAME

动态分配: 依赖于本地网络中有DHCP服务

DHCP: dynamic host configure procotol

3 网络接口命名方式:

传统命令方式:

以太网: ethX,[0,oo), 例如, eth0, eth1,…

PPP网络: pppX, 例如: ppp0, ppp1,…

可预测命名方案(CentOS 7):

支持多种不同的命名机制:

fireware, 拓扑结构

(1) 如果firmware或bios为主板上集成的设备提供的索引信息可用, 则根据此索引进行命名, 如eno1, eno2,…

(2) 如果firmware或bios为PCI-E扩展槽所提供的索引信息可用, 且可预测, 则根据此索引进行命名, 如ens1, ens2,…

(3) 如果硬件结构的物理位置信息可用, 则根据此信息命名, 如enp2s0

(4) 如果用户显示定义, 也可根据mac地址命名, 例如enx122131ab2e10,…

(5) 上述均不可用时, 则仍使用传统方式命名

命名格式的组成:

en: ethernet

wl: wlan

ww: wwan

名称的类型:

o<索引号>: 集成设备的设备索引号

s<插槽号>: 扩展槽的索引号

x<MAC地址>: 基于MAC地址的命名

p<bus>s<slot>: 基于总线及槽的拓扑结构进行命名

TCP/IP协议栈: 物理层, 互联网层, 传输层, 应用层

互联网层: IP协议

传输层: TCP, UDP

应用层: HTTP, https, ftp, ldap

链接路层: 以太网帧

互联网层: IP报文

以太网帧: 最大传输单元MTU(1500) 

二、Linux网络属性配置: 命令、配置文件

1 ifcfg命令家族: ifconfig, route, netstat

ifconfig – configure a network interface

ifconfig : 显示处于活动状态的接口信息

ifconfig -a: 显示所有接口信息, 包括非激活状态

ifconfig [interface]: 显示指定接口的信息

ifconfig interface [aftype] optiongs | address

# ifconfig IFACE IP/MASK [up]

# ifconfig IFACE IP netmask NETMASK [up|down]

示例:

# ifconfig eth1 10.1.52.12/16 up

# ifconfig eth1 10.1.52.12 netmask 255.255.0.0 up

options:

[-]promisc: 混杂模式

注意: 立即送往内核中的TCP/IP协议栈并立即生效

管理IPv6地址:

add addr/prefixlen: 添加

del addr/prefixlen: 删除

route: 路由查看及管理

路由条目类型: 

主机路由: 目标地址为单个IP

网络路由: 目标地址为IP网络

默认路由: 目标为任意主机: 0.0.0.0/0.0.0.0

查看:

# route -n: 以数字格式查看路由信息

添加:

route add [-net|-host] target [netmask Nm] [gw GW] [[dev] IF]

示例:

route add -net 10.0.0.0/8 gw 192.168.10.1 [dev eth1]

route add default gw 192.168.10.1

删除:

route del [-net|-host] target [gw GW] [netmask NM] [[dev] IF]

示例:

route del -net 10.0.0.0/8 gw 192.168.10.1

route del default

netstat – print network connections, routing tables, interface staticstics, masquerade connections, and multicast memberships, 显示网络连接, 路由表, 接口统计数据, 伪装连接, 多播成员关系

显示路由信息: 

netstat -rn

-r: 显示内核信息

-n: 显示数字信息

显示网络链接: 

-t: 显示tcp连接的相关信息; 连接均有其状态;FSM(finate state machine)

-u:

显示udp连接的相关信息;

-l|–listening: 查看处于监听状态的连接

-a: 所有状态的连接;

–numeric|-n: 数字显示;

–program|-p: 显示相关的进程;

-w: raw socket相关的连接;

-e: 扩展格式

常用组合:

-tan, -uan, -tnl, -unl, -tunal

显示接口的相关统计数据:

netstat {–interfaces|-I|-i} …..

所有接口:

netstat -i

指定接口:

netstat -I<IFace>

ifup/ifdown命令:

ifup: bring a network interface up

ifdown: take a network interface down

注意: 读取配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置

2 配置主机名

hostname命令:

查看: hostname

配置: hostname HOSTNAME, 当前系统有效, 重启后失效

CentOS 7

hostnamectl – query or change system hostname

hostnamectl status: 显示主机名设定信息

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

配置文件: /etc/sysconfig/network

HOSTNAME=<HOSTNAME>

注意: 设定后不会立即生效, 需要重读配置文件; 但是设置后永久有效

3 配置DNS服务器指向

配置文件: /etc/resolv.conf

nameserver DNS_SERVER_IP

如何测试(host/nslookup/dig)

cat /etc/hosts

# dig -t A FQDN

FQDN –> IP

#dig -x IP

IP –> FQDN

4 iproute家族

1、ip 命令

查看、管理路由、设备,管道设备

ip [options] OBJECT {COMMAND}

OBJECT:={link|addr|route|netns}

注意:OBJECT 可简写, 各OBJECT的子命令也可以简写

ip OBJECT

(1) ip link – network device configuration

ip link set – 修改设备属性

ip link set dev DEVICE { up | down | arp { on | off }}

ip link set DEVICE multicast { on|off }: 启用或禁用多播功能

ip link set name NAME: 重命名接口名称

ip link IFACE netns PID: ns为namespace, 用于将接口移动到指定的名称空间中

ip link help: 显示简要使用帮助

ip link show|list – 显示设备属性

(2) ip netns: – manage network namespaces

ip netns list : 列出所有的nets

ip netns add NAME : 创建指定的netns

ip netns del NAME : 删除指定的netns

ip netns exec NAME COMMAND: 在指定的netns中运行命令

示例:

ip netns list

ip netns add mynet

ip link set eno167777736 netns mynet

ip link show

ip netns exec mynet ip link show

(3) ip address – protocol address management

ip address add – add new protocol address

ip addr add IF_addr dev IFACE

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

[broadcast ADDRESS]: 广播地址

[scope SCOPE_VALUE]: 生效范围

global: 全局可用

link: 接口可用

host: 本机可用

示例:

ip addr add 10.1.0.1/16 dev eth1

ip addr add 10.2.0.1/8 dev eth1 label eth1:0

ip address delete – delete protocol address

ip addr delete IF_addr dev IFACE

ip address { show | list }

ip addr list [IFACE]: 仅显示指定接口的地址

ip address flush: 清空所有地址

ip addr flush dev IFACE

(4) ip route – routing table management, 路由表管理

ip route { add | change | replace }

ip route add TYPE PREFIX via(经由哪个网关) GW [dev IFACE] [src SOURCE_IP]

示例:

ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100

ip route add default via GW

ip route delete

ip route delete TYPE PREFIX

示例:

ip route delete 192.168.10.0

ip route { show | list }

TYPE PREFIX

ip route get – get a single route

ip route get TYPE PREFIX

示例: 

ip route get 192.168.0.0/24

ip route flush

TYPE PREFIX

2、ss 命令

ss [options] [FILTER(过滤器)]

选项:

-t: tcp协议相关的连接

-u: udp协议相关的连接

-w: raw socket相关的连接

-l: 监听状态的连接

-a: 所有状态的连接

-n: 数字格式显示

-p: 相关的程序及PID号

-e: 扩展格式信息

-m: 显示内存用量

-o: 显示计时器信息

FILTER :=[state TCP-STATE] [EXPRESSION]

TCP常见状态:

TCP FSM:

LISTEM: 监听

ESTABLISHED: 已经建立的连接

FIN_WAIT_1: 断开的连接 

FIN_WAIT_2: 确认断开连接

SYN_SENT: 

SYN_RECV: 

CLOSED: 

EXPRESSION:

dport = 

sport =

示例:

~]# ss -tan '( dport = :22 or sport = :22 )'

~]# ss -tan state ESTABLISHED

5 配置文件: 

IP、netmask、gw、dns等属性的配置文件

/etc/sysconfig/network-scripts/ifcfg-IFACE

IFACE: 接口名称

通过大量参数来定义接口的属性, 可通过vim等文本编辑器直接修改, 也可通过专用的命令进行修改

CentOS 6: system-config-network或setup

CentOS 7: nmtui

路由的相关配置文件

/etc/sysconfig/network-scripts/route-IFACE

ifcfg-IFACE配置文件参数:

DEVICE: 此配置文件的对应的设备的名称, 要与文件名的IFACE对应一致

ONBOOT={yes|no}: 在系统引导过程中是否激活

NETBOOT={yes|no}: 是否支持网络引导

UUID: 此设备的唯一标示

IPV6INIT: 是否初始化ipv6 协议

BOOTPROTO: 激活此接口时使用什么协议配置接口属性, 常用的有dhcp(动态地址), bootp, static(静态地址), none

TYPE: 指明接口类型, 常见的有: Ethernet, Bridge

DNS1: 第一DNS服务器指向

DNS2: 第二备用DNS服务器指向

DOMAIN: DNS搜索域

DEFROUTE={yes|no}: 

GATEWAY: 默认网关

IPADDR: 配置本机IP地址

NETMASK: 子网掩码, CentOS 7 支持使用PREFIX以长度方式指明子网掩码

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

PEERDNS: 如果BOOTPROTO的值为"dhcp", 是否允许dncp server分配的dns服务器指向覆盖本地手动指定的dns服务器指向, 默认为允许yes

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

HWADDR: 设备的MAC地址

网络服务: network, NetworkManager

修改配置文件后, 需要重启网络服务才能生效

CentOS 6:service SERVICE {start|stop|restart|status}

CentOS 7: systemctl {start|stop|restart|status} SERVICE

示例: 

service network restart

systemctl restart network.service

用到非默认网关路由: /etc/sysconfig/network-scripts/route-IFACE

支持两种配置方式, 但不可混用

(1) 每行一个路由条目

TARGET via GW

(2) 每三行一个路由条目

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

6 给接口配置多个地址

ip addr之外, ifconfig或配置文件都可以

(1) ifconfig IFACE_LABLE IPhone_ADDR/NETMASK

IFACE_LABLE: eth0:0, eth0:1, …

(2) 为别名添加并定义配置文件

DEVICE=IFACE_LABLE

BOOTPROTO: 网卡别名不支持动态获取地址

static, none

nmcli 命令: command-line tool for controlling NetworkManager

nmcli [options] OBJECT {COMMAND | help}

OBJECT := { general | networking | radio | connection | device | agent}

device – show and manage network interfaces

COMMAND := {status | show | connect | disconnect | delete | wifi | wimax}

connection – start, stop, and manage network connection

COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

如何修改IP地址等属性

# nmcli conn modify IFACE [+|-] setting.property value

ipv4.address

ipv4.gateway

ipv4.dns1

ipv4.method

manual

原创文章,作者:black_fish,如若转载,请注明出处:http://www.178linux.com/47258

(0)
black_fishblack_fish
上一篇 2016-09-19
下一篇 2016-09-19

相关推荐

  • 通过fast-cgi方式在三台主机部署phpwind并设置为https站点

    通常来说httpd用来处理静态的网页请求,动态的资源请求以前是通过CGI的方式进行处理的,但是CGI的方式的处理过程是这样:有动态资源请求,服务器会fork一个CGI进程进行资源处理,处理完成后这个进程会退出,当再有新的动态资源请求,又会fork一个进程,这样的效率是很低的。后来就有了通过加载php模块的方式,即:httpd服务器启动之后会自动加载php动态…

    2017-06-04
  • 初探VIM_第六周练习(02)

    引言—什么是Vim? 接触Linux这么久,想必对于一切皆文件的哲学思想已经不陌生了。因此,学习并掌握用一款Linux文本编辑器,对于玩转LInux来说,是很有必要的。 vi编辑器是Unix系统最初的编辑器,它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。 在GNU项目将vi编辑器移植到开源世界时,…

    Linux干货 2016-12-18
  • linux发展史-

    前言: 人类文明的进步伴随着战争,战争留下的产物也是非常伟大的。 最初用于战争的通电钢铁,如今以进入人们生活。 而它的附带产物如今也是变得妙不可言。 本文简要说明操作系统的发展过程,以及该大树下一些分支。         简 述   Linux是诞生与UNIX下的一款操系统,有着安全稳定的文件系统,…

    Linux干货 2016-10-19
  • Nginx基础

    Nginx基础 目录 Nginx概述 Nginx的优点 Nginx相比Apache 编译安装Nginx Nginx配置文件讲解 ngx_http_access_module模块 ngx_http_auth_basic_module模块 ngx_http_log_module模块 ngx_http_stub_status_module模块 Nginx概述 En…

    Linux干货 2016-11-01
  • Docker之~集群配置

    一、前言 Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件,目前最新版本为0.6.2。 本文介绍如何基于Centos7.0构建Kubernetes平台,在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能。以下为Kubernet…

    2015-03-23
  • 第一周作业

    描述计算机的组成及其功能。 由冯~诺伊曼提出计算机体系结构,计算机主要由控制器、运算器、存储器、输入设备、输出设备五大硬件组成。 控制器(Controller):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进…

    Linux干货 2017-02-07