系统学习----Linux网络管理

Linux网络管理

主机之间进行通信:路由
Linux跨网网络通信需要路由:主机上的路由一般来说分为三类:主机路由、网络路由、默认路由
Linux主机接入网络中需要配置的相关信息:IP/Mask、默认网关、DNS服务器

Linux配置网络方式:

动态指定:DHCP服务
静态指定:临时/永久配置
	ifcfg系列工具:ifconfig/route/netstat等工具
	ip系列工具:ip {link route addr}/ss等工具
	修改配置文件:/etc/sysconfig/network-scripts/* 
	CentOS7配置工具: nmcli

IP地址查看及配置

  • ifconfig命令: net-tools软件包
[root@test ~]# ifconfig --help
Usage:
  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]

在这里插入图片描述

  1. 查看所有网络接口配置信息:
    ifconfig -a
  2. 查看指定网络接口配置:
    ifconfig [up|down]

配置IP地址:
ifconfig <interface> x.x.x.x/x up (interface接口)
ifconfig <interface> x.x.x.x netmask x.x.x.x up (netmask子网掩码)

[-]promisc 启动混杂模式(- 表示关闭)
混杂模式:表示该主机能够接受所有流经网卡的数据包
非混在模式:表示该主机的网卡只能够接受目的地址是自己的数据包

开启: ifconfig promisc
关闭: ifconfig -promisc

查看内核路由信息:
route命令
在这里插入图片描述
Flags: 路由的标志位
U:启用状态
G: 表示默认网关
H:主机路由

手动添加路由:
route add [-host|-net] gw dev
主机路由:
route add -host 172.16.0.1 gw 172.16.0.2 dev ens32
网络路由:
route add -net 172.16.0.0/16 gw 172.16.0.2 dev ens32
默认路由:
route add default gw 172.16.0.2

删除路由:
route del [-host|-net] <target> gw <netmask> dev <interface>
删除主机路由:
route del -host 172.16.0.1 gw 172.16.0.2 dev ens32
删除网络路由:
route del -net 172.16.0.0/16 gw 172.16.0.2 dev ens32
删除默认路由:
route del default gw 172.16.0.2

DNS指定:

域名系统(Domain NameSystem,DNS)是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。-------引用自百度百科

配置文件: /etc/resolv.conf
nameserver DNS_SERVER_1
nameserver DNS_SERVER_2
网卡配置文件中:
DNS1=x.x.x.x
DNS2=x.x.x.x
正向解析: 域名->IP地址

netstat命令:查看网络连接状态

network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
网络连接 路由表信息 接口统计 伪装连接 组播成员关系

常用参数:
-t : 显示tcp协议相关
-u :显示udp协议相关
-w :显示raw socket相关(混杂模式收到的相关数据包)
-l :显示处于Listen状态连接
-a :显示所有状态的连接
-n :以数字显示IP地址和端口号
-p :显示相关进程及PID
-e :扩展格式显示

显示路由表:netstat -rn
-r: 显示内核路由表信息

显示接口统计信息: netstat -i | netstat -I<interface>
-i:显示接口统计信息
-I:显示指定接口信息
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
ens34 1500 4587 0 0 0 2745 0 0 0 BMRU


ifup/ifdown <interface> 用来启用/禁用一个接口 -> 要有该接口的相关配置文件
ethtool <interface> 显示接口设备属性
ethtool -S <interface> 显示接口设备的统计数据

ip命令

ip link:网络设备配置

ip link set [interface] :

[up|down]  激活或禁用指定端口
multicast [on| off]  开启或关闭接口组播功能
name <N_name>  重名命接口
mtu <M_value>  设置MTU值,MTU:最大传输单元
netns [PID|Name]  将接口移至指定的命名空间中

ip link show 显示所有接口信息
ip link show <interface> 显示指定接口信息
ip link show up 仅显示处于up状态的接口

ip address: 协议地址管理

ip address show 查看所有设备IP地址信息
dev <interface> 查看指定设备的IP地址信息
label <interface:> 查看指定设备的标签
dev <interface> primary 查看指定设备主IP


ip address [add | del] IPADRESS dev <interface>
ip address add x.x.x.x/x dev ens32 [broadcase x.x.x.x | label ens32:1] 配置IP地址
ip address add x.x.x.x/x dev ens32 scope [global|link|host] 指定作用域

global 全局可用
link 仅链接可用(同一广播域通信) 		
host 本机可用(只能跟自己通信)

ip address flush dev <interface> 清空指定设备的所有IP地址

ip route:网络路由配置

ip route add 
     x.x.x.x/x via x.x.x.x dev <interface>  网络路由
     x.x.x.x via x.x.x.x dev <interface> 主机路由 
     default x.x.x.x/x via x.x.x.x dev <interface>  默认路由 

ip route change|replace x.x.x.x/x via x.x.x.x dev <interface> 修改路由信息

ip route delete x.x.x.x/x 删除指定路由
ip route show 查看路由信息
ip route get x.x.x.x/x 查看指定路由相关信息
ip route flush 清空所有路由
ip route flush x.x.x.x 清空指定路由

ss命令: 显现socket连接状态

常用参数: 
-t: tcp 
-u: udp 
-w:raw socket 
-x: unix socket 
-l: Listen
-a: all 
-n: number形式
-p: Pid 
-m: memory 
-o: timer
-e: 扩展格式 

指定过滤器状态查看:

[root@localhost ~]# ss --help

在这里插入图片描述
例子:

[root@test ~]# ss -tan state connected
State      Recv-Q Send-Q       Local Address:Port                      Peer Address:Port              
ESTAB      0      0           192.168.10.128:22                        192.168.10.1:62607              
ESTAB      0      52          192.168.10.100:22                        192.168.10.1:62694              
[root@test ~]# ss -tan state established
Recv-Q Send-Q            Local Address:Port                           Peer Address:Port              
0      0                192.168.10.128:22                             192.168.10.1:62607              
0      52               192.168.10.100:22                             192.168.10.1:62694              

[root@test ~]# ss -tan state closing
Recv-Q Send-Q            Local Address:Port                           Peer Address:Port    

指定表达式:
dport = :22
sport = :1110

ss ‐tan sport = :22   显示源端口为22的连接
ss ‐tan dport = :51471 显示目的端口为51417的连接
ss ‐tan dport = :51471 or sport = :22  显示目的端口为51417或源端口为22的连接
ss ‐tan dport = :51471 and sport = :22 显示目的端口为51417且源端口为22的连接

Linux网络配置文件修改

IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-Interface_Name
路由相关的配置文件(默认没有须手动创建):/etc/sysconfig/network-scripts/route-Interface_Name

/etc/sysconfig/network-scripts/ifcfg-IFACE:
  DEVICE=eth0 此配置文件应用到的设备
  HWADDR=00:0C:29:3F:16:62 对应的设备的MAC地址
  BOOTPROTO=static 激活此设备时使用的地址配置协议(dhcp, static, none, bootp)
  NM_CONTROLLED=no NM是NetworkManager的简写,此网卡是否接受NM控制;CentOS6建议为"no"
  ONBOOT=yes 在系统引导时是否激活此设备
  TYPE=Ethernet 接口类型,常见有的Ethernet, Bridge
  UUID=6f404499-c071-4191-a5bd-fc29d8008783 设备的惟一标识
  IPADDR=192.168.10.1 指明IP地址
  NETMASK=255.255.255.0 子网掩码
  GATEWAY=192.168.10.254 默认网关
  DNS1=202.96.134.133 第一个DNS服务器指向
  DNS2=114.114.114.114 第二个DNS服务器指向
  USERCTL=no 普通用户是否可控制此设备
  PEERDNS=yes 如果BOOTPROTO的值为"dhcp",是否允许dhcp server分配的dns服务器信息直接覆盖至/etc/resolv.conf文件中

/etc/sysconfig/network-scripts/route-IFACE <指定网卡>
  两种风格:两种不能混用,只能固定使用其中某一种
  第一种:TARGET via GW
   192.168.0.0/24 via 192.168.10.254
  第二种:每三行定义一条路由
  ADDRESS#=TARGET
  NETMASK#=mask
  GATEWAY#=GW
  ADDRESS0=192.168.0.0
  NETMASK0=255.255.255.0
  GATEWAY0=192.168.10.254

重启网络服务: systemctl restart network

给网卡配置多地址:配置子接口
a) ifconfig eth0:0 192.168.0.1/24
b) ip addr add 192.168.0.1/24 dev eth0 label eth0:0

配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0 # 注意:网卡别名不能使用dhcp协议引导

Linux网络属性配置工具tui(text user interface):
system-config-network-tui,也可以使用setup命令调用system-config-network-tui;注意:记得重启网络服务方能生效;

修改当前主机的主机名:
  hostname [HOSTNAME] 临时修改 | hostnamectl set-hostname <Hostname> 永久修改
配置文件:/etc/sysconfig/network :HOSTNAME=New_Name

主机名解析:/etc/hosts
    127.0.0.1 New_Name

网络接口识别并命名相关的udev配置文件:可以用于修改网卡的设备名称,不过要重新装载网卡驱动生效
  /etc/udev/rules.d/70-persistent-net.rules
  lsmod 查看内核装载的模块
  卸载网卡驱动:modprobe -r e1000
  装载网卡驱动:modprobe e1000

IP地址配置工具

nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device - show and manage network interfaces
  nmcli device status 查看所有网卡状态
  nmcli device show 查看所有网卡信息
  nmcli device show eth0 查看指定网卡信息
  nmcli device connect eth0 连接指定网卡
  nmcli device disconnect eth0 断开指定网卡
connection - start, stop, and manage network connections
  nmcli connection show 查看所有设备连接信息
  nmcli c show eth0 查看指定设备详细信息
  如何修改IP地址等属性:
  #nmcli connection modify IFACE [+|-]setting.property value
  nmcli c modify eth0 ipv4.addresses 192.168.1.1/24
  nmcli c modify eth0 ipv4.gateway 192.168.1.254
  nmcli c modify eth0 ipv4.dns1 202.96.134.133
  nmcli c modify eth0 ipv4.method manual   指定网络信息获取方式,这里为手动指定

网络配置tui工具:nmtui

网络客户端工具:lftp, ftp, lftpget, wget

# lftp [-p port] [-u user[,password]] SERVER
  子命令:
  get  下载单个文件
  mget 下载多个文件
  ls  显示当前目录文件
  help 显示帮助信息
 # lftpget URL 直接跟URL地址下载文件到当前目录
# ftp 传统的ftp客户端工具,能用lftp就不用这个
# wget | curl
  wget [option]… [URL]…
   -q 静默模式
   -c 断点续传
   -O 指定下载到指定路径
   --limit-rates= 限制传输速率

网络管理小实验

需求:ABC三台主机,其中B充当路由器实现AC之间通信。
拓扑:A ----net1----- B ----net2------C

环境准备

网卡示例:
A: host网卡
B:host网卡 + Nat网卡
C:Nat网卡

A、C需要安装网络管理工具:

yum install -y net-tools

A:
仅主机网卡
ip:192.168.40.130
B:
仅主机网卡
ip:192.168.40.129
NAT网卡
ip:192.168.80.20
C:
NAT网卡
ip:192.168.80.30

具体步骤

第一步
A、C需要安装网络管理工具

yum install -y net-tools

ABC主机配置IP地址然后测试直连是否成功
A: ifconfig ens33 192.168.40.129/24 up
B: ifconfig ens33 192.168.40.130/24 up
ifconfig ens36 192.168.80.30/16 up
C: ifconfig ens36 192.168.80.20/16 up

测试:
B:
a) ping 192.168.40.129 -> AB直连正常
b) ping 192.168.80.20 -> BC直连正常
第二步
A上需要添加主机路由,即让A知道怎么去

route add -host 192.168.80.30 gw 192.168.40.129 dev ens33

route add -host 192.168.80.30 via 192.168.40.129 dev ens33

第三步
C上添加主机路由,即让C知道怎么回

route add -host 192.168.40.130 gw 192.168.80.20 dev ens33

route add -host 192.168.40.130 via 192.168.80.20 dev ens33

第四步
B上需要开启路由,打开内核转发功能

[root@node2 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

这步临时调整;主机重启之后即失效。要想永久生效,需要在/etc/sysctl.conf 文件中写:
net.ipv4.ip_forward=1

立即生效:
sysctl -p

第五步
在A上pingC

ping 192.168.80.30

在C上pingA

ping 192.168.40.130
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值