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


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

一、网卡名称:

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

2ifdown eth1 ifup eth1

blob.png

blob.png

3ip添加或者删除网卡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

2ifconfigip addr查看IP地址信息的对比:

blob.png

3ip命令新建网卡别名:

blob.png

blob.png

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

blob.png

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

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

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包,支持多种格式的RIPOSPFBGP

命令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

2DNS

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

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

blob.png

3DNS的正向和反向解析:

正解:域名–>IP

# dig -t A域名

# host -t A域名

    反解:IP–>域名

# dig -x IP

# host -t PTR IP

3DNShosts的优先级调整:

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

blob.png

四、netstatss的比较:

1netstat命令:

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

2ss命令:

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

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

3)参数选项:-t: tcp协议相关;-u: udp协议相关;-w: 裸套接字相关;-xunixsock相关;-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、网络配置文件:

1IPMASKGWDNS相关配置文件:/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_CONTROLLEDNMNetworkManager的简写,此网卡是否接受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

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

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

1)网卡命名机制:

systemd对网络设备的命名方式

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

(b) 如果FirmwareBIOSPCI-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.cfgrub2生成其配置文件;重启系统生效。

blob.png

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

blob.png

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

六、nmcli命令:

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

setting.propertyipv4.addresses ipv4.gatewayipv4.dns1 ipv4.method(指定是静态或者是动态获取IP manual | dhcp

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

Cnmcli命令生效: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

将配置文件做downup操作:(注:不要使用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

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

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

2)创建新连接defaultIP自动通过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

9nmcliifcfg-*文件的对照:

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可以是broadcastroundrobinactivebackuploadbalance,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

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

  子命令:getmgetlshelp

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

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

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

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

7wget下载工具,支持ftphttp的下载,命令格式#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路由为node1R2路由为node2

blob.png

blob.png

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

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

blob.png

blob.png

5)分别给R1R2路由设置路由记录:

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