Linux学习之基础知识——网络管理的基本命令

概述

随着互联网和物联网的不断发展,网络已经成为人们生活中必不可少的配置。而在Linux中,网络管理也是必不可少的技能之一,没有网络,系统所提供的各项服务就无从施展。本篇重点从ifconfig、route、netstat、三个命令,介绍Linux中的网络配置。最后再实验用三个Linux系统作为路由器,串联在两端的另外两个Linux系统能够互相通信。

ifconfig命令

ifconfig命令用于配置和显示Linux内核中的网络接口参数。在配置参数时,只是临时配置该参数,在系统或者网卡重启后,会丢失该参数。若需要保存配置,则需要修改/etc/sysconfig/net-scripts/ifcfg-eth#(CentOS6)/etc/sysconfig/network-scripts/ifcfg-ens#(CentOS7)文件,#为对应的网卡名,实际上文件名与网卡实际名称无关,只是为了易于辨认。

语法:

ifconfig [选项] [设备] [参数]

常用选项:

    add <ipv6> 为网卡设置ipv6地址

    del<ipv6>   删除ipv6地址

    down dev        禁用该网卡

    up dev             启用该网卡

    netmask <netmask> 设置子网掩码


    hw <网络设备类型> <MAC>  重新设置MAC地址。只是模拟了新的Mac地址,实际上网卡的MAC是没有改变的!

    -a             显示所有的网络信息,包括已经禁用的网卡。只执行ifconfig是不显示未启用网卡的!

    -s             以短格式显示信息

    [-]arp       在设备上启用或禁用ARP

ifconfig查看网络配置

ifconfig -s 以短格式查看网络配置

配置新的ip地址

]# ifconfig eth0 192.168.5.123/24
]# ifconfig eth0 192.168.5.123 netmask 255.255.255.0

修改MAC

]# ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF 

禁用启用网卡

]# ifconfig eth0 down
]# ifconfig eth0 up

开启关闭网卡ARP功能

]# ifconfig eth0 arp #开启网卡eth0 的arp协议 
]# ifconfig eth0 -arp #关闭网卡eth0 的arp协议

另外,网卡名也是可以修改的。在CentOS6中存放网卡名的文件为/etc/udev/rules.d/70-persistent-net.rules,在修改完网卡名后,需要卸载网卡驱动并重新加载,才能使设置生效。而在CentOS7中则不同:

使用传统命名方式:
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"或:修改/boot/grub2/grub.cfg
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统或重新加载驱动。

Linux中网卡驱动是以模块形式加载的。查看网卡驱动:

]# ethtool eth0   #查看eth0的驱动

查询得知在本机中网卡驱动模块名为e1000。

卸载eth0的驱动:

]# modprobe -r e1000
或
]# rmmod e1000

加载驱动:

]# modprobe e1000


route命令

route命令用于显示和配置Linux内核中的路由表。route命令设置的是静态路由。要实现两个网络间的通信,需要与两个网络连接的路由器或者同时连接两个子网的网关来实现。通过route命令配置的路由表是无法保存的,在系统或者网卡重启之后会丢失。若要长久保存配置,则需要修改/etc/rc.local文件。

语法:

route [选项] [参数]

常用参数:

-A:                                 设置路由地址的类型

-C:                                显示Linux核心的路由缓存

-n:                                不执行DNS反向查找,直接显示数字形式的IP地址

-v:                                显示详细信息

-e:                                 netstat格式显示路由表

-net:                             设置网络路由

-host:                          设置主机路由

add :                            添加路由

del :                             删除路由

查看内核路由表


添加路由


删除路由

屏蔽一条路由

]# route add -net 192.165.6.0/24 reject #增加一条屏蔽的路由,目的地址为192.168.6.x的请求将被拒绝


netstat命令

netstat命令通常用来查看当前的整个网络状况。

语法:

netstat <选项>

常见选项:

-t:         tcp协议相关

-u:       udp协议相关

-w:       raw socket相关

-l:         处于监听状态

-a:       所有状态

-n:       以数字显示IP和端口;

-e:    扩展格式

-p:       显示相关进程及PID

通常情况下选项都是组合使用的,以同时显示更多需要的信息。常用组合为:-tan, -uan, -tnl, -unl

查看内核路由表:

netstat {--route|-r} [--numeric|-n]
              -r: 显示内核路由表
              -n: 数字格式

查看TCP协议的通讯


查询内核路由表


常用组合命令的查询


路由搭建

在实验中,由三个Linux系统充当路由器,两个Linux系统充当主机,五个系统串联至四个不同的网络中,使得在两端的主机能够互相通信。由于五个系统都是在虚拟机中运行,直接在虚拟机的虚拟网络编辑器中添加四个不同的网络,并将五个主机的两个网卡分别置于这四个网络中。拓扑图如下:

虚拟网络编辑器的配置如下图:

查看CA的IP地址

配置主机CA的ip


查看主机CA的路由表并配置路由。


由于主机CA位于网络边沿,所以其路由配置默认路由即可。另一边的主机CB亦同。配置完成后主机CA的配置就完成了。接下来是路由器R0的配置。

查看并配置R0的ip

查看R0的路由表

配置R0的路由表

开启R0的路由转发功能。修改/proc/sys/net/ipv4/ip_forward内容为1

至此R0的配置就完成了。接下来是RA的配置。


查看并配置RA的ip

查看并配置RA的路由表

开启RA的路由转发功能

检查RA与C0之间能否通信

通过相互的ping发现能够通信,说明前面的配置没有问题。实际上应该每配置一步就检查配置是否配置成功。此时RA的配置已经完成,接下来是RB的配置。


查看并配置RB的ip

查看并配置RB的路由表

开启RB的路由转发功能

检查RB与C0能否ping通

通过互ping发现二者能够通信,即前面配置成功,接下来就是CB的配置。


CB的配置与CA类同,不过CA事先置入了两块网卡,其中一块(ens33)因为与R0配置在同一网络中,会对实验形成干扰所以会禁用它。

禁用ens33

]# ifconfig ens33 down

查看并配置CB的ip.可以看到网卡ens33已经被禁用。

查看并配置CB的网关

最后,通过CA和CB的互ping,检查整个路由配置是否成功。

最后两个主机互ping,可以发现能够ping通,即整个网络配置没有问题。可以看到,双方互ping的TTL均为61,即执行ping命令是发送的数据包通过了(64-61=)3个路由器,与拓扑图中设计的无误。

若是在最终的检测中,发现某一方不能ping通,则应逐个路由器进行测试,检查主机和路由器的ip、网关、路由表等配置是否正确,还有充当路由器的主机路由转发功能是否打开。最好的办法是,随配随测,过程较慢,但胜在准确性较高。

最后,在配置过程中,系统最好都关闭防火墙和selinux策略,以避免不必要的问题。关闭的方法如下:

修改selinux策略为permissive或者disabled

]# vim /etc/selinux/config
]# setenforce 0             #关闭selinux
]#getenforce             #查看状态



关闭防火墙:
centos7:
]# systemctl stop firewalld             #立即关闭防火墙
]# systemctl disable firedwalld         #关闭开机自动启动


centos6:
]# chkconfig iptables off              #开机不启动
]# server iptables stop                #关闭防火墙



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值