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

相关推荐

  • 马哥教育网络班21期+第14周课程练习

    系统的INPUT和OUTPUT默认策略为DROP; iptables -P INPUT DROP iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响…

    Linux干货 2016-10-09
  • 搭建双主模型lpvs的高可用集群

    一、实验要求: 1、基于LVS-DR模型上实践; 2、调度器高可用(双主模型); 二、实验拓扑图: 三、实验步骤: 1、  设置RS (a)设置http主页 Yum install httpd Vim /var/www/html/index.html <h1>172.18.24.3 server 1或者172.18.24.5server…

    2017-05-15
  • Linux基础操作-week5

    1、显示当前系统上root、fedora或user1用户的默认shell; 方式一: # whoami root # echo $SHELL /bin/bash 方式二: #grep user1 /etc/passwd|awk -F “:” ‘{print $7}’ /bin/bash 2、找出/etc/rc.…

    Linux干货 2016-11-27
  • 第一篇博客,以下。

    一、 linux 你好!    学习linux的心情。        又一次接触了linux,内心还是很忐忑的。记得大二学过半学期的linux,那是一门考查课,所以可想而知学的是三天打鱼两天晒网。也不知道是怎样的机缘,让我在一年后又一次遇见了它。我想说,虽然你…

    2017-07-15
  • ​N22-℡浮生.若夢 ╮第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; ~]# grep -E "^(root|user1|fedora)" /etc/passwd |cut -d: -f1,7 root:/bin/bash user1:/bin/bash fedo…

    Linux干货 2016-10-09
  • HAproxy对wordpress的代理

    一,实验环境 网络拓扑结构 Web2,master是centos7.3 Web1,backup是centos6.8 客服端的window主机首win7 所有的主机通过switch相连,处于172.18.0.0/16的网段中 二,安装的软件 使用wordpress版本4.3.1 Web1安装httpd,php,php-mysql Web2安装nfs-utils…

    Linux干货 2017-05-17