Linux网络测试与配置
一、查看网络配置1.1ifconfig--查看网络接口的信息(图形化界面一般是已经安装了的,而最小化界面没有,则需要手动安装---rpm -qi net-tools)[root@localhost ~]# ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500inet 192.168.88.100netmask
目录
1.1ifconfig--查看网络接口的信息(图形化界面一般是已经安装了的,而最小化界面没有,则需要手动安装---rpm -qi net-tools)
1.5 ss(socket statistics)这个更加常用
一、查看网络配置
1.1ifconfig--查看网络接口的信息(图形化界面一般是已经安装了的,而最小化界面没有,则需要手动安装---rpm -qi net-tools)
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.88.100 netmask 255.255.255.0 broadcast 192.168.88.255
inet6 fe80::2403:4ea6:15f3:17a2 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:00:a6:7e txqueuelen 1000 (Ethernet)
RX packets 7764 bytes 566325 (553.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1466 bytes 131165 (128.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 36 bytes 3020 (2.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 36 bytes 3020 (2.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:ff:02:2b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
常用格式:
ifconfig 具体网卡名称 #只显示具体网卡的详细信息
ifconfig -a #表示显示所有网卡包括没有启动的网卡
ifconfig 网卡名称 [up|down] #表示开启或关闭网卡
ifconfig 网络接口 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址[/子网掩码长度]
ifconfig ens33:0 地址 #表示虚拟网卡
[root@localhost ~]#ifconfig ens37 down/up #表示开启关闭网卡
[root@localhost ~]#ifconfig ens37:0 192.168.91.200 #表示设置临时的虚拟网卡
#先加新IP,再删除旧的IP
[root@centos8 ~]#ip address add 10.0.0.88/24 dev ens33
[root@centos8 ~]#ip address del 10.0.0.8/24 dev ens33
[root@centos8 ~]#ip a
1.2 hostname--查看主机名称
查看主机名
[root@localhost ~]# hostname
localhost.localdomain
修改主机名称(临时修改)
[root@localhost ~]# hostname zyy #修改主机名为zyy
[root@localhost ~]# su #切换
[root@zyy ~]# #这里的用户名已经修改了
修改主机名称(永久修改),重启后生效
[root@zyy ~]# vim /etc/hostname #直接编辑文件,第一行就是主机名,且只对第一行生效
[root@zyy ~]#
[root@zyy ~]#hostnamectl set-hostname zyy #这条命令的效果同上
1.3查看路由表
route 【-n】
【-n】是将路由记录中的地址信息显示为数字的形式
[root@zyy ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.88.2 0.0.0.0 UG 100 0 0 ens33
192.168.88.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@zyy ~]#
#路由表主要构成:
#Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低
#Genmask:目标网络对应的netmask
#Iface: 到达对应网络,应该从当前主机哪个网卡发送出来
#Gateway: 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
#Metric: 开销cost,值越小,路由记录的优先级最高
添加指定的路由记录
route add -net 网段地址 gw IP地址
[root@localhost ~]# route add -net 192.168.100.0/24 gw 192.168.88.2
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.88.2 0.0.0.0 UG 100 0 0 ens33
192.168.88.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.100.0 192.168.88.2 255.255.255.0 UG 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@localhost ~]#
向路由表中添加默认网关记录
route add default gw IP地址
[root@localhost ~]# route add default gw 192.168.88.2
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.88.2 0.0.0.0 UG 0 0 0 ens33
0.0.0.0 192.168.88.2 0.0.0.0 UG 100 0 0 ens33
192.168.88.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.100.0 192.168.88.2 255.255.255.0 UG 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
同样,删除也是差不多的操作:
删除指定网段的路由记录
route del -net 网段地址
删除路由表中默认的网关记录
route del default gw IP地址
1.4 netstat(查看网络连接情况)
查看系统的网络连接状态、路由表、接口统计等信息
选项 | 含义 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听接口状态的网络连接以及端口信息 |
-t | 查看TCP相关的信息 |
-u | 查看UDP相关的信息 |
-p | 显示与网络连接的相关的进程号、进程名称信息(该选项需要root权限) |
首先需要开启httpd服务(systemclt start httpd)
[root@localhost ~]# netstat -ntap |grep 80 #过滤80端口,并查看该端口的状态
tcp6 0 0 :::80 :::* LISTEN 8352/httpd
服务不能用 ,ftp httpd网页无法访问
-
一般先ping 看能不能通 如果你网络不通 网络调通 防火墙 抓包
-
看看你的服务是否开启 syetemctl status 服务名
-
ss netstat 看看你的 服务端口是否被占用 一个给一个服务 网页 80 你 apache nginx
-
最后看你 服务的配置文件是否正确
1.5 ss(socket statistics)这个更加常用
ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。 但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。 ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
格式:
ss [选项]
选项 | 含义 |
-t | tcp协议相关 |
-u | udp协议相关 |
-w | 裸套接字相关 |
-x | Unix sick相关 |
-l | listen状态的链接 |
-a | 所有 |
-n | 以数字的格式显示 |
-p | 相关的程序及PID |
-e | 扩展的信息 |
-m | 内存用量 |
-o | 计时器信息 |
-r | 把IP解释为域名,把端口号解释为协议名称 |
1.6 ping -- 测试网络连通性
格式:
ping [选项] 目标主机
#-c 选项是发送多少个包
[root@localhost ~]#ping -c 3 192.168.91.1
PING 192.168.91.1 (192.168.91.1) 56(84) bytes of data.
64 bytes from 192.168.91.1: icmp_seq=1 ttl=128 time=0.311 ms
64 bytes from 192.168.91.1: icmp_seq=2 ttl=128 time=0.671 ms
64 bytes from 192.168.91.1: icmp_seq=3 ttl=128 time=0.444 ms
--- 192.168.91.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt min/avg/max/mdev = 0.311/0.475/0.671/0.149 ms
# -w 表示等待10秒
[root@localhost ~]#ping 192.168.91.3 -w 10
PING 192.168.91.3 (192.168.91.3) 56(84) bytes of data.
From 192.168.91.100 icmp_seq=1 Destination Host Unreachable
From 192.168.91.100 icmp_seq=2 Destination Host Unreachable
From 192.168.91.100 icmp_seq=3 Destination Host Unreachable
From 192.168.91.100 icmp_seq=4 Destination Host Unreachable
--- 192.168.91.3 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3002ms
pipe 4
# -t 无终止ping win linux 自带 -t
1.7 traceroute -----跟踪数据包
格式:
traceroute IP地址
[root@zyy ~]#traceroute 192.168.91.101
traceroute to 192.168.91.101 (192.168.91.101), 30 hops max, 60 byte packets
1 192.168.91.101 (192.168.91.101) 0.752 ms 0.644 ms 0.635 ms
1.8 nslookup 域名解析
格式:
nslook 域名
[root@zyy ~]#nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53
dig 可以显示出更多详细信息
格式:
dig 域名
[root@kgc ~]#dig www.baidu.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40371
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 390 IN CNAME www.a.shifen.com.
www.a.shifen.com. 30 IN A 14.215.177.39
www.a.shifen.com. 30 IN A 14.215.177.38
;; Query time: 77 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 四 9月 23 22:02:04 CST 2021
;; MSG SIZE rcvd: 101
1.9永久修改网络相关配置文件
网卡
配置网卡的目录非常非常重要
vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static //网卡获取地址模式
ONBOOT=yes //开机是否自启动
IPADDR=192.168.91.105 //配置你自己的IP地址子网网关还有dns服务器
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
DNS1=8.8.8.8
[root@localhost ~]# systemctl restart network //重启网卡服务
[root@localhost ~]# ping 192.168.91.1 //测试网络是否通顺
PING 192.168.91.1 (192.168.91.1) 56(84) bytes of data.
64 bytes from 192.168.91.1: icmp_seq=1 ttl=128 time=0.871 ms
64 bytes from 192.168.91.1: icmp_seq=2 ttl=128 time=0.487 ms
64 bytes from 192.168.91.1: icmp_seq=3 ttl=128 time=0.347 ms
#TYPE:接口类型;常见有的Ethernet, Bridge
#PROXY_METHOD:此配置文件应用到的设备
#BROWSER_ONLY:
#BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
#DEFROUTE:
#IPV4_FAILURE_FATAL:
#IPV6INIT:
#IPV6_AUTOCONF:
#IPV6_DEFROUTE:
#IPV6_FAILURE_FATAL:
#IPV6_ADDR_GEN_MODE:
#NAME:此配置文件应用到的设备
#UUID:设备的惟一标识
#DEVICE:设备名
#ONBOOT:在系统引导时是否激活此设备
#IPADDR::
#NETMASK:
#GATEWAY:
#DNS1:
域名解析配置文件
本地主机映射文件
/etc/resolv.conf
保存的是你DNS服务器的地址
/etc/hosts 文件 保存主机名与IP地址的映射记录
二、DHCP
主机获取网络配置可以通过两种方式:
-
指定
-
动态获取
dhcp自动获取的一个过程:
1.首先客户机加入到当前网络中是没有地址的,它会发送一个dhcp discover广播报文来寻找dhcp服务器
2.服务器收到discover 报文后会回复offer (ip地址(合法地址中挑出),子网掩码,dns地址,网关等信息)
3.客户机收到offer以后会发送一个request的报文告诉服务器 我收到了你的offer ,并且我很满意你的地址,我就使用它了,不要再分配给别人了
4.当服务器收到request的报文以后 好了解 会发送一个ack报文确认消息告诉客户端,你放心使用,不会再给别人分配你的ip地址
当有多个服务器的时候,以客户机先收到谁的offer为准
常见的DHCP的八种报文(常用的就前四种)
-
DHCP DISCOVER:客户端到服务器
-
DHCP OFFER :服务器到客户端
-
DHCP REQUEST:客户端到服务器
-
DHCPACK :服务器到客户端
-
.DHCPNAK:服务器到客户端通知用户无法分配合适的IP地址
-
DHCP DECLINE :客户端到服务器,指示地址已被使用
-
DHCP RELEASE:客户端到服务器,放弃网络地地口取消剩余的租约时间
-
DHCP INFORM:客户端到服务器,客户端如果需要从DHCP服务器端获取更为单ffl的配置信息,则 发送Inform报文向服务器进行请求,极少用到
#设置全局配置参数
default-lease-time 21600; #默认租约为6小时,单位为秒
max-lease-time 43200; #最大租约为12小时,单位为秒
option domain-name "benet.com"; #指定默认域名
option domain-name-servers 202.106.0.20,202.106.148.1; #指定DNS服务器地址
ddns-update-style none; # 禁用DNS动态更新加快
#subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.80.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 192.168.80.10 192.168.80.20; #设置地址池
option routers 192.168.80.254; #指定默认网关地址
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100192.168.1.200;
option routers 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.20192.168.2.30;
option routers 192.168.2.254;
}
#host主机声明( 给单机分配固定的IP地址)
host hostname{ #指定需要分配固定IP地址的客户机名称
hardware ethernet 00:c0:c3:22:46:81; #指定该主机的MAC地址
fixed-address 192.168.100.45; #指定保留给该主机的IP地址
DHCP实验一:
下载并且查看
[root@localhost ~]#yum install dhcp -y #安装dhcp服务
[root@localhost ~]#rpm -qc dhcp #查看配置文件
编辑dhcp配置文件
vim /etc/dhcp/dhcp.conf
[root@localhost ~]#vim /etc/dhcp/dhcpd.conf
#空的
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# 在此目录下有配置模板
# see dhcpd.conf(5) man page
#
~
~
~
[root@localhost ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
#将文件拷贝过来覆盖
[root@localhost dhcp]#vim dhcpd.conf
#修改配置文件
#第8行 修改默认的全局dns地址
8 option domain-name-servers 8.8.8.8;
#直接修改27 行
27 subnet 192.168.88.0 netmask 255.255.255.0 {
28 range 192.168.88.10 192.168.88.100;
29 option routers 192.168.88.1;
30 option domain-name-servers 114.114.114.114;
31 }
在 windows中 使用
ipconfig 查看网卡信息
ipcongfig /release 释放地址
ipcongfig /renew 重新获取地址
ipconfig /all 全部信息
保留地址
#查找关键字fixed
#先查找mac地址ipconfig /all
77 host fantasia {
78 hardware ethernet 00:0C:29:69:9B:97;(注意分隔符)
79 fixed-address 192.168.91.199;
80 }
DHCP实现二:
DHCP中继
建立一个三层交换的拓扑,分别进行如下配置:
info-center source ds channel 0 log state off trap state off //4095
Undo ter m //4096
华为打断配置
创建vlan
sys //视图模式
show vlan //查看VLAN
vlan batch 10 20 100 //创建vlan
display vlan //查看vlan
int e0/0/2
port link-type access
Port default vlan 10
q
int e0/0/3
port link-type access
Port default vlan 20
q
int e0/0/4
port link-type access
Port default vlan 100
q
int e0/0/1
port link t
port trunk allow-pass vlan all
三层
vlan batch 10 20 100 //新建vlan
dhcp enable //开启dhcp华为默认关闭
int g0/0/1 //进入接口
port link trunk // 接口类型
port trunk allow-pass vlan all //允许所有vlan通过
int vlan 10
ip add 192.168.10.1 24 //配置网关地址
dhcp select relay // 配置中继
dhcp relay server 192.168.100.100 //宣告服务器地址
dis this
int vlan 20
ip add 192.168.20.1 24
dhcp select relay
dhcp relay server 192.168.100.100
dis this
int vlan 100
ip add 192.168.100.1 24
dhcp select relay
dhcp relay server 192.168.100.100
dis this
最后用ping来验证实验结果
三、FTP
yum info vsftpd 查看信息 FTP(File Transfer Protocol: 文件传输协议)
作用:Internet 上用来传送文件的协议。 VSFTP全称 (very secure FTP) VSFTP模式: C/S模式 FTP服务器默认使用TCP协议的20、21端口与客户端进行通信 20端口用于建立数据连接,并传输文件数据 21端口用于建立控制连接,并传输FTP控制命令 FTP数据连接分为主动模式和被动模式 主动模式:服务器主动发起数据连接 被动模式:服务器被动等待数据连接
yum install -y vsftpd
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak
设置匿名用户访问的FTP服务(最大权限)
#修改配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #开启匿名用户访问。默认已开启
write_enable=YES #开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022 #设置匿名用户所上传数据的权限掩码(反掩码)。
anon_upload_enable=YES #允许匿名用户.上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable =YES #允许删除、重命名、覆盖等操作。需添加
chmod 777 /var/ftp/pub/ #为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户.上传数据
#开启服务,关闭防火墙和增强型安全功能
systemctl start vsftpd
systemctl stop firewalld
setenforce 0
#匿名访问测试 在Windows系统打开开始菜单,输入cmd 命令打开命令提示符
#建立ftp连接 ftp 192.168.80.10
#匿名访问,用户名为ftp,密码为空,直接回车即可完成登录 ftp> pwd
#匿名访问ftp的根目录为Linux系统的/var/ftp/目录 ftp> ls #查看当前目录 ftp> cd pub
#切换到pub目录ftp> get文件名 #下载文件到当前Windows本地目录 ftp> put 文件名
#上传文件到ftp目录 ftp> quit #退出
重启服务
systemctl restart vsftpd
ftp 192.168.10.12
ftp://zhangsan@192.168.10.12
修改匿名用户、本地用户登录的默认根目录
anon_root=/var/www/html #anon_root 针对匿名用户 local_root=/var/www/html #local_root针对系统用户
使用user_list用户列表文件
vim /etc/vsftpd/user_list
//末尾添加zhangsan用户
zhangsan
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES #启用user_list用户列表文件
userlist_deny=NO #设置白名单,仅允许user_list用户列表文 件的用户访问。默认为YES,为黑名单,禁用
更多推荐
所有评论(0)