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

相关推荐

  • N22-浙江-情歌第一周博客作业

    一、计算机的组成及其功能    计算机有五大组成部分:CPU(控制器和运算器)、内存、输入、输出           CPU:运算、控制、寄存、缓存功能           内存:RAM       &nbsp…

    Linux干货 2016-08-15
  • vim编辑器进阶

    1、vim介绍    vim(Visual Interface Improved)是一款异常强大的文本编辑器,如果大家对它的认识还停留在编辑文件,再退出的阶段的话,那就太对不起vim了,反倒不如用nano来的爽快。不过学习vim刚开始的阶段必然是痛苦的,如果想要一蹴而就,那就是你想多了。所以还需大家结合实际情况,勤加练习,认真揣摩。这里是…

    Linux干货 2016-08-11
  • 马哥教育网络班21期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;     fdisk /dev/sdb    n p 1 +10G w (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl…

    Linux干货 2016-08-22
  • Linux的软件包管理(RPM)

    软件包管理(RPM)   本章节内容:   软件运行环境   软件包基础  Rpm包管理   一、软件运行环境(了解API和ABI)  API:应用程序开发接口,POSIX国际标准。  程序源代码–> 预处理–> 编译–&…

    Linux干货 2016-08-21
  • 搭建个人博客&论坛(LAMP):wordpress、discuz、phpMyAdmin

    搭建个人博客&论坛(LAMP):wordpress、discuz、phpMyAdmin 一、快速部署LAMP架构平台 1.CentOS 6系统部署 所需安装包:httpd, php, mysql-server, php-mysql ]# yum install -y  httpd php&n…

    Linux干货 2016-10-17
  • Linux文件查找及压缩常用知识总结

    一、文件查找 1.locate命令: locate KEYWORD 常用选项:     -i 执行区分大小写的搜索     -n  N只列举前N个匹配项目 查询系统上预建的文件索引数据库在:/var/lib/mlocate/mlocate.…

    Linux干货 2016-08-18