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

相关推荐

  • rsyslog日志存储到mysql数据库中并利用loganalyzer进行web图形化分析管理

    概述     系统日志的重要性,相信大家都深有体会,当发生故障后,第一时间就是查看相关报错信息和日志信息,以定位问题所在,还可以基于日志,进行日志的分析,从而获取系统运行状态的一些规律,本篇就介绍关于系统日志的先关内容,具体分为:     1、rsyslog相关概念的介绍 &nb…

    Linux干货 2016-10-18
  • 第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;  (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@localhost ~]# fdisk /dev/sdb #创建10G分区 Welcome to fdisk (util-linux 2.23.2). Changes wi…

    Linux干货 2017-02-19
  • rpm和yum

     1、rpm的安装 rpm {-i|–install} [install-options] PACKAGE_FILE… -v: verbose -h: 以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE … [install-options] …

    Linux干货 2016-08-21
  • 马哥教育首届IT技术博客大赛–结果揭晓

    号外、号外!!马哥教育首届博客大赛已圆满结束。感谢小伙伴们的积极参与! 噼里啪啦,小伙伴们掌声响起来,啤酒烤鸭high起来~~咳咳,跑题了,小编好像忘了一件很重要的事: 马帮博客大赛就是与众不同,全银河系也就仅此一家,为啥这么说呢,您看啊,咱就喜欢原创,鼓励原创,酷爱原创,以原创博客作为技术交流的平台供大家随意围观和吐槽,您看看,除了马哥这里,哪里还有这么自…

    Linux干货 2016-06-22
  • Linux基础指令(2)

    4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?  元数据定义:      数据(Metadata),又称中介数据、中继数据,为描述 数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如…

    Linux干货 2016-11-09
  • 系统管理之磁盘管理(二)磁盘配额,RAID,LVM

    上篇博文给大家介绍了磁盘和文件系统的基础知识,也是最基本的使用.在实际生产环境中,对于磁盘的使用,要求稳定,灵活,那么下面给大家分享下磁盘的高级用法.磁盘配额,RAID,LVM等相关知识. 1.磁盘配额2.磁盘RAID3.LVM 一.磁盘配额 1.概述: • 在内核中执行 • 以文件系统为单位启用 • 对不同组或者用户的策略不同…

    Linux干货 2016-09-05