网络管理(三)之路由设置、网络组


网络管理(三)之路由设置、网络组

一、网卡名称:

1、网络接口的识别命名udev配置文件:#vim /etc/udev/rules.d/70-persistent-net.rules

2、网卡查看:#dmesg | grep -i eth 或者#ethtool -i eth0

blob.png                                             

3、网卡驱动卸载和装载:

(1)卸载:#modprobe -r e1000 或者#rmmod e1000  (注:执行该命令后,远端连接将断开不能使用,恢复需要到机器终端上执行装载网卡驱动命令)

(2)装载:#modprobe e1000

blob.png

blob.png

二、IP命令和route命令的对比:

IP命令:

ip – show / manipulate routing, devices, policy routing and tunnels

(注:IP命令可以查询网卡的信息、网络路由等功能)

1、网卡信息查看:#ip link ;指定网卡查看:#ip link show eth0 ;查看活动状态的网卡信息:#ip link show up

blob.png

blob.png

2、激活或者禁止指定的网卡:

(1)#ip link set eth1 down ;#ip link set eth1 up

blob.png

blob.png

(2)ifdown eth1 ;ifup eth1

blob.png

blob.png

3、ip添加或者删除网卡IP地址:

使用格式:#ip addr {add|del} IPV4 dev eth0/{1……}

使用选项:[label LABEL]:添加地址时指明网卡别名

[scope {global|link|host}]:指明作用域

global: 全局可用

link: 仅链接可用

host: 本机可用

(1)添加或者删除网卡的IP地址:

blob.png

blob.png

blob.png

(2)ifconfig和ip addr查看IP地址信息的对比:

blob.png

(3)ip命令新建网卡别名:

blob.png

blob.png

(4)ip命令对网卡所有设置的清除:

blob.png

(注:ip命令对网卡的设置,只能是临时生效,不能够永久,当机器重启后就会自动清除恢复;因此,如果想设置永久的网络IP地址,请在/etc/sysconfig/network-scripts/ifcfg-eth#配置文件上修改或者新建网卡(或网卡别名)配置文件)

4、ip命令添加和删除路由:

(1)添加路由:#ip route add

     命令格式:ip route add 目标网络 via 网关 dev 设备名称(eth#)源地址(一般不写)

TARGET:

主机路由:IP

网络路由:NETWORK/MASK

#ip route add 192.168.0.0/24 via 172.16.0.1

#ip route add 192.168.1.13 via 172.16.0.1

添加网关:iproute add default via GW dev设备名称(eth#)

#iproute add default via 172.16.0.1

(注:设备名称不写也可以,会自动识别)

(2)删除路由:#ip route detele (#ip route del)

(3)显示路由:#iproute show|list

(4)清空路由表:#iproute flush dev eth#

5、配置动态路由:通过守护进程获取动态路由

安装quagga包,支持多种格式的RIP、OSPF和BGP

命令vtysh配置

route命令:

1、  查看路由:#route -n

2、  添加路由:#route add

3、路由添加格式:route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]

4、添加路由例题:

(1)目标:192.168.1.3 网关:172.16.0.1 (注:添加主机记录)

# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

(2)目标:192.168.0.0 网关:172.16.0.1 (注:添加网络记录)

# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

  (3)默认路由,网关:172.16.0.1

# route add -net 0.0.0.0 netmask 0.0.0.0 gw172.16.0.1

# route add default gw172.16.0.1

5、删除路由:route del

route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]

6、路由删除例题:

(1)目标:192.168.1.3 网关:172.16.0.1 (注:删除主机记录)

# route del -host 192.168.1.3

 (2)目标:192.168.0.0 网关:172.16.0.1 (注:删除网络记录)

# route del -net 192.168.0.0 netmask 255.255.255.0

三、本地解析器与DNS的对比:

1、本地解析器:

(1)解析器执行正向和逆向查询,是本地主机名数据库和IP地址的映像

对小型独立网络有用

通常,在使用DNS前检查

getent hosts 查看/etc/hosts 内容

(2)本地解析器的配置文件修改:#vim /etc/hosts

2、DNS

(1)系统中网卡的配置,需要设置DNS解析的IP地址,Linux系统中最多只能设三个DNS地址,超出的DNS则无效;第一个DNS为主DNS解析;第二个DNS为次DNS解析;第三个为备用DNS解析。

(2)DNS配置信息的查看:#cat /etc/resolv.conf

blob.png

(3)DNS的正向和反向解析:

正解:域名–>IP

# dig -t A域名

# host -t A域名

    反解:IP–>域名

# dig -x IP

# host -t PTR IP

3、DNS和hosts的优先级调整:

(注:系统默认最高优先级的解析是/etc/hosts的配置文件,如果需要将DNS的优先级调整,修改/etc/nsswitch.conf的配置,如下图,将红色框内的“files”“dns”对调即可)

blob.png

四、netstat和ss的比较:

1、netstat命令:

(1)显示网络连接:

netstat[–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]] [–program|-p]

选项详解:-t: tcp协议相关;-u: udp协议相关;-w: raw socket相关;-l: 处于监听状态;-a: 所有状态;-n: 以数字显示IP和端口;-e:扩展格式;-p: 显示相关进程及PID

blob.png

(2)显示接口统计数据:

netstat{–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]

# netstat -i

# netstat -I=eth0 或者netstat -Ieth0

# ifconfig -s eth0

blob.png

可做数据监控:

blob.png

(3)常用组合:-tan;-uan,;-tnl;-unl

(4)显示路由表:netstat{–route|-r} [–numeric|-n]

-r: 显示内核路由表

-n: 数字格式

blob.png

2、ss命令:

(1)格式:ss[OPTION]… [FILTER]

(2)netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息。

(3)参数选项:-t: tcp协议相关;-u: udp协议相关;-w: 裸套接字相关;-x:unixsock相关;-l: listen状态的连接;-a: 所有;-n: 数字格式;-p: 相关的程序及PID;-e: 扩展的信息;-m:内存用量;-o:计时器信息

(4)常用组合:-tan;-tanl;-tanlp;-uan

blob.png

(5)常见用法:

ss -l 显示本地打开的所有端口

 ss -pl 显示每个进程具体打开的socket

 ss -t -a 显示所有tcp socket

 ss -u -a 显示所有的UDP Socekt

 ss -o state established '( dport = :ssh or sport = :ssh )' 显示所有已建立的ssh连接

 ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接

 ss -s 列出当前socket详细信息:

blob.png

五、网络配置文件和CentOS7网络属性配置:

1、网络配置文件:

(1)IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

(2)路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE ;/etc/sysconfig/network-scripts/ifcfg-IFACE

(3)说明参考/usr/share/doc/initscripts-9.49.30/sysconfig.txt

(4)配置格式:

DEVICE:此配置文件应用到的设备

HWADDR:对应的设备的MAC地址

BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp

NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”

(5)配置文件里各选项的说明详解:

   ONBOOT:在系统引导时是否激活此设备

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

   UUID:设备的惟一标识

   IPADDR:指明IP地址

   NETMASK:子网掩码

   GATEWAY: 默认网关

   DNS1:第一个DNS服务器指向

   DNS2:第二个DNS服务器指向

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

   PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中

blob.png

2、CentOS7网络属性配置:(rhel7使用基于硬件,设备拓扑和设置类型命名)

rhel6之前,网络接口使用连续号码命名:eth0、eth1等,当增加或删除网卡时,名称可能会发生变化。

(1)网卡命名机制:

systemd对网络设备的命名方式

(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1

(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1

(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0

(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56

(e) 上述均不可用时,则使用传统命名机制

(2)名称组成格式

en: Ethernet 有线局域网

wl: wlan无线局域网

ww: wwan无线广域网

(3)名称类型:

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

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

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

p<bus>s<slot>: enp2s1

(4)网卡设备的命名过程:

第一步:udev, 辅助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules

第二步:biosdevname会根据/usr/lib/udev/rules.d/71-biosdevname.rules

第三步:通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description

(5)采用传统命名方式:

A、编辑/etc/defaults/grub配置文件,在GRUB_CMDLINE_LINUX="…… rd.lvm.lv=centos/swap rhgb quiet"的后面添加一句“net.ifnames=0”;使用命令grub2-mkconfig -o /etc/grub2.cf为grub2生成其配置文件;重启系统生效。

blob.png

B、修改/boot/grub2/grub.cfg

blob.png

(注:修改完成后需要重启生效)

六、nmcli命令:

A、修改IP地址等属性:#nmclic onnection modify IFACE [+|-]setting.property value

setting.property:ipv4.addresses ;ipv4.gateway;ipv4.dns1; ipv4.method(指定是静态或者是动态获取IP) manual | dhcp

B、修改配置文件执行生效:systemctlrestart network 或者nmclicon reload

C、nmcli命令生效:nmclicon down eth0 ;nmclicon up eth0

D、新建配置文件:# nmcli connection add con-name home autoconnect yes ifname eno33554960 type ethernet ip4 192.168.1.100/24 gw4 192.168.1.1

1、查看网络配置和活动状态配置:

blob.png

显示设备状态:

blob.png

显示网络连接配置:nmcli con show "System eth0“ (注:此处的con是“connection”的简写)  图略

2、新建备用配置文件:

blob.png

3、启用备用配置文件:

blob.png

4、原网络配置文件恢复:

blob.png

5、新备用配置的修改(IP地址和网关):

命令:

blob.png

将配置文件做down和up操作:(注:不要使用systemctl restart  network命令重启网络服务,此配置文件为备用)

blob.png

blob.png

6、删除新的备用配置文件:

blob.png

7、相关工具:

网络接口配置tui工具:nmtui

blob.png

主机名称配置工具:hostnamectl(或者hostnamectl  status)

blob.png

#hostnamectl  set-hostname ###(修改主机名称)

blob.png

8、nmcli简写子命令的配置使用:

(1)显示网络接口属性:nmclidev show eno16777736

(2)创建新连接default,IP自动通过dhcp获取:nmclicon add con-name default type Ethernet ifnameeth0

(3)删除连接:nmclicon del default

(4)创建新连接static ,指定静态IP,不自动连接:

nmcticon add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254

(5)启用static连接配置:nmclicon up static

(6)启用default连接配置:nmclicon up default

(7)查看帮助:nmclicon add help

(8)修改连接设置:

nmclicon mod“static” connection.autoconnect no 修改为启动不自动启用

nmclicon mod “static” ipv4.dns 172.25.X.254  修改DNS

nmclicon mod “static” +ipv4.dns 8.8.8.8  增加DNS

nmclicon mod “static” -ipv4.dns 8.8.8.8  删除DNS

nmclicon mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”  修改IP地址

nmclicon mod “static” +ipv4.addresses 10.10.10.10/16   增加地址

(9)修改连接配置后,需要重新加载配置

nmcli con reload

nmcli con down “system eth0” 可被自动激活

nmcli con up “system eth0”

nmcli dev dis eth0 禁用网卡,访止被自动激活

(10)图形工具:nm-connection-editor

9、nmcli与ifcfg-*文件的对照:

blob.png

(注:ipv4.ignore-auto-dns true该项是不自动获取DNS,手动设置;等价命令:nmclicon mod “system eth0” ipv4.ignore-auto-dns yes)

六、网络组Network Teaming:

1、了解网络组:

网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量;但不同于旧版中bonding技术,网络组提供更好的性能和扩展性;网络组由内核驱动和teamd守护进程实现。

2、命令格式:#nmclicon add type team(网络组类型) con-name CNAME(连接名) ifname INAME(接口名) [configJSON](工作模式)

工作模式设定:'{"runner": {"name": "METHOD"}}';METHOD可以是broadcast;roundrobin;activebackup;loadbalance,;lacp

3、多种方式runner

broadcast

roundrobin

activebackup

loadbalance

lacp(implements the 802.3ad Link Aggregation Control Protocol)

4、简单了解网络组的使用:

启动网络组接口不会自动启动网络组中的port接口

 启动网络组接口中的port接口不会自动启动网络组接口

 禁用网络组接口会自动禁用网络组中的port接口

 没有port接口的网络组接口可以启动静态IP连接

 启用DHCP连接时,没有port接口的网络组会等待port接口的加入

5、创建port接口:

(1)命令格式:#nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

CNAME连接名;INAME网络接口名;TEAM网络组接口名

   注:连接名若不指定,默认为team-slave-IFACE

   nmclidev dis INAME

   nmclicon up CNAME

INAME设备名CNAME网络组接口名或port接口

6、网络组事例:

# nmcli con add type team con-name team0 ifname team1 config ‘{"runner": {"name": "loadbalance"}}'

 # nmcli con mod team0 ipv4.addresses 10.1.10.100/24

 # nmcli con mod team0 ipv4.method manual

 # nmcli con add con-name team0-1 type team-slave ifname eth1 master team0

 # nmcli con add con-name team0-2 type team-slave ifname eth2 master team0

 # nmcli con up team0

 # nmcli con up team0-eth1

 # nmcli con up team0-eth2

 # teamdctl team0 state; # nmcli dev dis eth2

7、实验:创建网络组:

#ip link

 #nmcli con add type team con-name team0 ifname team1 config '{"runner": {"name": "activebackup"}}'

 # nmcli con mod team0 ipv4.addresses ' 10.1.10.100/24'

 # nmcli con mod team0 ipv4.method manual

 # nmcli con add type team-slave con-name team0-1 ifname eno1 master team0

 # nmcli con add type team-slave con-name team0-2 ifname eno2 master team0

 # teamdctl team0 state

 #ping -I team0 10.1.10.100

 # nmcli dev dis eno1

 # teamdctl team0 state

 # nmcli con up team0-port1

 # nmcli dev dis eno2

 # teamdctl team0 state

 # nmcli con up team0-port2

 # teamdctl team0 state

 

实验演示:

(1)创建前,先检查网卡信息:(注:此实验是在CentOS7下测试,两块网卡的模式为桥接)

blob.png

(2)创建网络组和创建port接口,并设置静态IP地址和修改配置文件为静态获取IP:

blob.png

(3)启动网络组和各个子接口:

blob.png

blob.png

blob.png

(4)测试:

blob.png

(网络组卸载:# nmcli connection down team1-1;# nmcli connection down team1-2;# nmcli connection down team0;# nmcli connection delete team1-1;# nmcli connection delete team1-1;# nmcli connection delete team0;#systemctl restartnetwork)

blob.png

8、管理网络组配置文件:

blob.png

blob.png

blob.png

 

七、网络客户端工具:

1、工具:lftp, ftp, lftpget, wget

2、lftp的使用格式:# lftp [-p port] [-u user[,password]] SERVER

  子命令:get、mget、ls、help

3、网络资源下载:# lftp get URL 或 # ftp  或 # wget  或wget[option]… [URL]…

4、wget使用选项:-q: 静默模式;-c: 断点续传;-O: 保存位置;–limit-rates=: 指定传输速率

5、lftp与ftp的对比:ftp不支持Tab键补全;而lftp则支持Tab键补全。

6、lftpget下载工具,但只支持ftp下载,命令格式#lftpget ftp://PATH/files

7、wget下载工具,支持ftp和http的下载,命令格式#wget http:// PATH/files或者#wget ftp://PATH/files

blob.png

注:#命令pwd显示的ftp服务器的根目录路径(/var/ftp);#命令lcd显示的是当前登陆终端的路径;#命令!ls显示的是使用者本机的目录下文件;#!mv命令修改本机目录下的文件名称;命令# passive更改使用模式;命令#put是上传单一的文件;命令#mput上传多个文件;命令#get下载单一文件;命令mget支持下载多个文件。

 

路由配置演示:

(1)规划路由表划分图:

blob.png

(2)两台路由机器的IP地址设置如下图:

R1路由为node1;R2路由为node2

blob.png

blob.png

(3)IP设置完成后,执行命令#systemctl restartnetwork

(4)每台路由机器上执行命令#echo1 > /proc/sys/net/ipv4/ip_forward,启动路由转发功能

blob.png

blob.png

(5)分别给R1、R2路由设置路由记录:

blob.png

blob.png

(6)路由直接互ping端口测试:(注:ping之前先执行命令#iptables -F清除防火墙记录)

blob.png

blob.png

blob.png

blob.png

blob.png

(6)各网段的主机之间互ping:

blob.png

blob.png

blob.png

blob.png

blob.png

 

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

赞 (0)
Aaron_wangAaron_wang
上一篇 2016-09-08 18:55
下一篇 2016-09-08 18:55

相关推荐

  • centos6启动故障及修复

    前言 前文中我们熟悉了linux的启动流程,如果在启动过程中文件丢失或者损坏了怎么办呢?难道只有重装系统这一条路吗?那我们不是成了普通网管了吗?作为专业的运维工程师,我们需要掌握如何快速修复系统启动。 实验1: 破坏/boot/grup/下的文件——-stage2 阶段  不影响启动  mv /boot/grub …

    2017-09-03
  • 2016全球运维大会,优云蒋君伟演讲“CMDB+自动化的管理融合”成一大亮点

    2016全球运维大会于9月23日-24日在上海盛大开幕。作为国内运维行业的重量级大会,优云产品总监蒋君伟在自动化专场与来自全国各地的运维同行一起探讨、分享业内自动化运维的最佳实践。现场情绪热烈,气氛高涨,成为了本届全球运维大会的一大亮点。 全新梳理自动化与CMDB的融合之道 全球运维大会当天,运维自动化专场很多大牛针对自动化运维管理中的CMDB进行了激烈的讨…

    Linux资讯 2016-12-05
  • CentOS 7 部署LAMP架构(独立服务模式)

    细节要求:(1) 三者分离于三台主机,Httpd与PHP以FastCGI模式通讯; (2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress; (3) 部署PHP加速器:xcache; 一、准备CentOS 7主机环境以及Repo仓库提供基于rpm安装包方式的程序包安装源 安装主机程序包规划: 主机1:web-server(…

    Linux干货 2017-02-17
  • 二、(2)bash的工作特性之:命令执行状态返回值及命令行展开

    bash 工作特性 命令执行状态 命令行展开

    2018-01-10
  • LVM逻辑卷管理

    一、简述 什么是逻辑卷?LVM(Logical Volume Manager)利用Linux内核device-mapper实现存储系统的虚拟化。通过LVM,把底层存储硬件抽象化成存储逻辑块,再将这些逻辑块集合构成存储池,从存储池空间划分分区,可以简单地扩大或缩小分区,而不用担心硬盘没有足够的连续空间。 使用逻辑卷分区有什么用?使用逻辑卷分区重点在于可以弹性地…

    Linux干货 2016-09-06
  • Nginx基础整理

    目录结构如下: Nginx基础知识Nginx HTTP服务器的特色及优点 Nginx的主要企业功能 Nginx作为web服务器的主要应用场景包括: Nginx的安装安装环境 快速安装命令集合 各个命令解释 脚本 注意 安装故障总结故障一:没有安装pcre或pcre-devel 故障二:没有安装openssl和openssl-devel 常用的Nginx ht…

    Linux干货 2017-08-29