Skip to content

Latest commit

 

History

History
310 lines (166 loc) · 11.3 KB

2.10_20170321_网络管理.md

File metadata and controls

310 lines (166 loc) · 11.3 KB

网络管理

在linux的网络管理中,常用需要对ip地址和网络掩码、路由、DNS服务器进行配置。CentOS6

在centos6中网络接口命名是eth0,1,2....,centos7的接口命名方式和centos6不同

ifcfg命令家族配置ip、路由和DNS

ip地址和掩码的配置有两种方式,一种是静态指定,一种是动态分配,动态分配需要DHCP

静态指定有两种不同的命令组,一个是ifcfg组,另外是ip命令,ifcfg是比较传统的命令,ip命令比较新功能也更强大。除了使用ifcfg和ip命令,也可以直接编辑配置文件,system-config-network-tui(setup)是一个基于配置文件的前端配置工具,这样即使重启系统也能使配置生效。在centos7中,有nmcli、nmtui新工具更加强大。

ifconfig用来显示网络属性信息和配置网络,直接使用ifconfig可以列出当前活动的网络接口,也可以查看指定的网络接口, -a选项可以查看所有网络接口。

配置接口的ip地址使用:ifconfig Interface ip/mask [up|down],ifconfig会立即生效(注意不是永久有效),启用或禁用混杂模式[-]promisc

路由管理

路由管理命令使用route命令,路由查看使用route -n,不加-n会反解为名字;

添加路由使用route add [-net|-host] target [netmask Num] gw 网关地址 dev 网络接口;

例如route add -host 192.168.5.6 gw 172.16.23.2 dev eth0;route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

添加默认路由:route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1;route add default gw 172.16.0.1

删除路由使用route del [-net|host] target netmask Num

DNS配置

DNS配置一般要通过文件来实现,DNS配置文件在/etc/resolv.conf,配置使用nameserver DNS_SERVER_IP1,最多可以配置三台DNS服务器。DNS服务是将完全限定域名FQDN解析为ip地址,反解析是将ip地址解析为FQDN。解析测试使用dig -t A FQDN,反解析dig -x IPaddress,也可以使用host,正解host -t A FQDN,反解host -t PTR IP

网络状态查看

netstat可以查看网络连接、路由表、接口状态、地址伪装连接和组播成员关系

显示网络连接:netstat [--tcp|-t] [--udp|-u] [--raw|-r] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e] [--program|-p],常用的组合有:-tan、-uan、-tnl、-unl

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

显示路由表: netstat {--route|-r} [--numeric|-n] ,常用的组合有:

-r:显示内核路由表
-n:数字格式

显示接口统计数据: netstat {--interfaces|-I|-i} [--all|-a][--extend|-e] [--verbose|-v][--program|-p][--numeric|-n]

例如:netstat -i、netstat -I iface

ip命令家族配置ip、路由和DNS

ip命令可以查看或配置路由、设备、策略路由、和tunnel。一般使用格式ip [options] OBJECT {COMMAND|HELP},OBJECT={link|addr|route}

ip link:实现网络设备管理

ip link set dev Iface up|down:激活或禁用指定接口

ip link show:显示物理接口简要描述信息,也可以接上指定的设备,也可以后加使用up用于显示处于激活状态的接口

ip link show

ip addr:ip地址管理

ip addr {add|del} IPADDR dev Iface:新增或删除指定设备的ip地址,一块网卡可以有多个地址,实际上,网卡地址是存在系统内核中的,并不属于接口。

​ [label LABEL]:新增地址时指明网卡别名

​ [scope {global|link|host}]:指明作用域,{全局可用|仅链接可用|本机可用}

​ [broadcast ADDRESS]:指明广播地址

ip addr show:显示所有设备ip地址和相关信息

​ [dev DEVICE]:查看指定设备ip地址和相关信息

​ [label PATTRN]

​ [primary|secondary]:显示主地址或第二地址

ip addr flush:清空地址,使用格式同show

ip route:路由表管理

ip route add TARGER via GW dev IFACE [src SOURCE_IP]:添加路由

​ TARGET主机路由ip

​ 网络ip/mask

ip route add default via GW:设定默认路由

ip route show:

ip route delete TARGET:删除路由

ip route flush:清空路由表

​ [dev IFACE]: 仅清空与某个接口相关联的路由

​ [via PREFIX]:仅清空与指定网关相关的路由

ss:网络状态查看

ss的一般使用格式ss [option]...[filter]

常用选项

-t:tcp协议相关
-u:udp协议相关
-w:裸套接字相关
-x:unix sock相关
-l:listen状态的连接
-p:相关的程序及PID
-e:扩展的信息
-m:内存用量
-o:显示计时器的信息

filter:=[ state TCP-STATE ] [ EXPRESSION ]

​ EXPRESSION示例:'(dport=:ssh or sport=:ssh)'

ss的常用组合有:-tan、-tanl、-tanlp、-uan

tcp的常见状态:listen、established、fin_wait_1、syn_sent、syn_recv、closed

使用配置文件配置网络属性

在redhat系列中,和ip、mask、GW、DNS相关的配置文件在/etc/sysconfig/network-scripts/ifcfg-IFACE

network-scripts

路由相关的配置文件在/etc/sysconfig/network-scripts/route-IFACE, 默认不存在,需要手动添加

和IP相关的配置文件内容

DEVICE="ens33"--此配置文件应用到的设备

HWADDR--对应设备的mac地址

BOOTPROTO="none"--激活此设备时使用的地址配置协议,常用的有none、dhcp、static、bootp

NM_CONTROLLED="no"--NM是nerworkManager的简写,在centos6中建议关闭

ONBOOT="yes"--在系统引导时是否激活此设备

TYPE="Ethernet"--接口类型;常见的有Ethernet、Bridge

UUID--设备的唯一标识

IPADDR--指明ip地址

NERMASK--子网掩码

GATEWAY--默认网关

DNS1--第一个DNS服务器

DNS2--第二个DNS服务器

DNS3--第三个DNS服务器,因为这是在接口配置的,所以优先级高于/etc/resolv.conf(普通用户无法修改)

USERCTL--普通用户处否可控制此设备

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

修改配置文件不会立即生效,要使用service network restart重启网络服务

和路由相关的配置文件内容

可以使用两种方法写配置文件,一种是TARGET via GW,另外一种是每三行定义一条路由。两种方法不能混合使用

ADDRESS0=

NETMASK0=

GATEWAY0=

修改配置文件不会立即生效,要使用service network restart重启网络服务

配置多地址网卡

给网卡配置ip地址有三种方法,分别是ifconfig、ip和配置文件,前两种方法可以立即生效

ifconfig IFACE_ALIAS IPADDRESS/MASK up

ip addr add

配置文件把DEVICE改成别名,不需要指定网关、UUID,一块网卡一般只需要一个网关

注意:别名的IP地址不可以通过DHCP获得

tui配置工具

没有安装setuptool的,要使用yum -y install setuptool;yum install system-config-securitylevel-tui;yum install system-config-network-tui;yum install ntsysv安装缺失的软件,直接使用setup命令配置,可以使用空格键启用一些服务,用*表示,也可以使用tab或箭头调整所选文本。重启网络服务后方能生效

主机名和网络接口识别命名

在红帽系中,hostname的配置文件在/etc/sysconfig/network中,在该文件中还有一个条目是NERWORKING,这是整个网络的总开关。

在shell中,直接使用hostname,会显示主机的主机名,也可以通过hostname来自定义主机名

网卡名称在/etc/udev/rules.d/70-persistent-net.rules文件中,只需修改部分内容即可,不会立即成效,卸载网卡驱动再装载modprobe -r e1000;modprobe e1000。如果修改了网络接口命名,其他对应的文件也要相应的修改。centos7不适用

CentOS 7网络属性配置

在centos7之前,传统的网络接口命名方式是网络类型加上数字,如eth0、wlan1,在CentOS7中采用了具有一致性和可预测的命名机制,udev支持多种不同的命名方式,可以基于Firmware、拓扑结构。

网卡命名机制

systemd对网络设备的命名方式

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

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

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

如果用户显式启用,也可根据mac地址进行命名,例如enx2387a1dc56;

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

上述命名机制,有的需要biosdevname程序的参与

名称组成格式和名称类型

en:Ethernet;wl:wlan;ww:wwan

名称类型:

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

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

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

p<bus>s<slot>:enp2s1

网卡设备的命名过程

第一步

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对网络接口命名,如果还不能识别就按内核最初识别的名字

禁用网络设备重命名(回归传统命名方式)

1)编辑/etc/default/grub配置文件,将GRUB_CMDLINE_LINUX的值添加net.ifnames=0;

2)为grub2生成其配置文件:grub2-mkconfig -o /etc/grub2.cfg

3)重启系统

地址配置工具:nmcli

nmcli device :查看设备的相关信息

​ ~ status:查看设备的状态

​ ~ show Iface:查看具体设备的信息

nmcli connection:配置管理设备,connection可以简写为c

​ ~ show [iface]:

​ ~ modify iface ipv4.address IPADDRESS/MASK:修改iface接口的ip地址

​ ~ modify +iface ipv4.address IPADDRESS/MASK:新增一个iface接口的ip地址

​ ~ down|up iface:禁用或启用网卡

​ ~ modify iface -ipv4.address IPADDRESS/MASK,删除接口的IP地址,将接口down和up后生效

​ 同样的,也可以修改ipv4.gateway、ipv4.dns、ipv4.method manual\DHCP

nmtui图形文本工具

在centos7中使用nmtui的图形文本工具来配置网络,而不是centos6中的setup,nmtui可以设置网络的各种属性,也可以修改主机名,另外查看主机名也可以使用hostnamectl status,这个命令可以详细查看关于hostname的属性,使用hostnamectl set-hostname HOSTNAME.

另外自行了解nmap、ncat、tcpdump工具

网络客户端工具

lftp是一个ftp客户端工具,命令的一般使用格式lftp [ -p port ] [ -u user[,password ] ] ftpServer,当连接到ftp服务器后,使用ls可以查看文件列表,cd可以切换目录,下载文件使用get命名,下载多个文件使用mget,下载全部文件使用mget *。

使用lftpget URL可以直接下载ftp的指定文件

ftp是一个古老的ftp客户端工具,当用户是匿名登录时,用户名是anonymous,密码随意填写

wget是一个非交互式的文件下载工具,支持多种协议,也支持多种选项-q静默模式、-c续传、-o保存位置