网络管理(三)之路由设置、网络组
一、网卡名称:
1、网络接口的识别命名udev配置文件:#vim /etc/udev/rules.d/70-persistent-net.rules
2、网卡查看:#dmesg | grep -i eth 或者#ethtool -i eth0
3、网卡驱动卸载和装载:
(1)卸载:#modprobe -r e1000 或者#rmmod e1000 (注:执行该命令后,远端连接将断开不能使用,恢复需要到机器终端上执行装载网卡驱动命令)
(2)装载:#modprobe e1000
二、IP命令和route命令的对比:
IP命令:
ip – show / manipulate routing, devices, policy routing and tunnels
(注:IP命令可以查询网卡的信息、网络路由等功能)
1、网卡信息查看:#ip link ;指定网卡查看:#ip link show eth0 ;查看活动状态的网卡信息:#ip link show up
2、激活或者禁止指定的网卡:
(1)#ip link set eth1 down ;#ip link set eth1 up
(2)ifdown eth1 ;ifup eth1
3、ip添加或者删除网卡IP地址:
使用格式:#ip addr {add|del} IPV4 dev eth0/{1……}
使用选项:[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域
global: 全局可用
link: 仅链接可用
host: 本机可用
(1)添加或者删除网卡的IP地址:
(2)ifconfig和ip addr查看IP地址信息的对比:
(3)ip命令新建网卡别名:
(4)ip命令对网卡所有设置的清除:
(注: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
(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”对调即可)
四、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
(2)显示接口统计数据:
netstat{–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]
# netstat -i
# netstat -I=eth0 或者netstat -Ieth0
# ifconfig -s eth0
可做数据监控:
(3)常用组合:-tan;-uan,;-tnl;-unl
(4)显示路由表:netstat{–route|-r} [–numeric|-n]
-r: 显示内核路由表
-n: 数字格式
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
(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详细信息:
五、网络配置文件和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文件中
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生成其配置文件;重启系统生效。
B、修改/boot/grub2/grub.cfg
(注:修改完成后需要重启生效)
六、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、查看网络配置和活动状态配置:
显示设备状态:
显示网络连接配置:nmcli con show "System eth0“ (注:此处的con是“connection”的简写) 图略
2、新建备用配置文件:
3、启用备用配置文件:
4、原网络配置文件恢复:
5、新备用配置的修改(IP地址和网关):
命令:
将配置文件做down和up操作:(注:不要使用systemctl restart network命令重启网络服务,此配置文件为备用)
6、删除新的备用配置文件:
7、相关工具:
网络接口配置tui工具:nmtui
主机名称配置工具:hostnamectl(或者hostnamectl status)
#hostnamectl set-hostname ###(修改主机名称)
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-*文件的对照:
(注: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下测试,两块网卡的模式为桥接)
(2)创建网络组和创建port接口,并设置静态IP地址和修改配置文件为静态获取IP:
(3)启动网络组和各个子接口:
(4)测试:
(网络组卸载:# 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)
8、管理网络组配置文件:
七、网络客户端工具:
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
注:#命令pwd显示的ftp服务器的根目录路径(/var/ftp);#命令lcd显示的是当前登陆终端的路径;#命令!ls显示的是使用者本机的目录下文件;#!mv命令修改本机目录下的文件名称;命令# passive更改使用模式;命令#put是上传单一的文件;命令#mput上传多个文件;命令#get下载单一文件;命令mget支持下载多个文件。
路由配置演示:
(1)规划路由表划分图:
(2)两台路由机器的IP地址设置如下图:
R1路由为node1;R2路由为node2
(3)IP设置完成后,执行命令#systemctl restartnetwork
(4)每台路由机器上执行命令#echo1 > /proc/sys/net/ipv4/ip_forward,启动路由转发功能
(5)分别给R1、R2路由设置路由记录:
(6)路由直接互ping端口测试:(注:ping之前先执行命令#iptables -F清除防火墙记录)
(6)各网段的主机之间互ping:
原创文章,作者:Aaron_wang,如若转载,请注明出处:http://www.178linux.com/44638