飞道的博客

linux网络设置(一)ifconfig、ping、traceroute、route、hostname、netstat、ss、time

394人阅读  评论(0)

一、查看网络接口信息

1、windows系统-ipconfig

windows查看网络接口信息的命令是:ipconfig;
快捷键:cmd:命令提示符;并输入命令如下:

2、linux系统-ifconfig

使用命令ifconfig查看所有网络接口信息

  • en标识ethernet
  • s:热插拔网卡;USB之类的扩展槽索引号
  • 33:是网卡的编号
ifconfig ens33 #可以查看指定网卡的所以网络接口信息
ifconfig -a #查看所有活动接口;相当于all(不论是开启还是关闭的比如)


不论是开启还是未开启的接口都可以查询出来

3、虚拟机更改IP地址

虚拟机的网络管理在界面右上角,三个小电脑的图标
以如何更改虚拟机的ip地址为例:


关闭再打开

这时ifconfig enss的ip地址就更改了

二、虚拟网卡的配置

1、VMware三种网络模式

虚拟网卡(又称虚拟网络适配器),即用软件模拟网络环境,模拟网络适配器。在日常使用VMware Workstation创建虚拟机时,可以根据需要选择使用何种虚拟网卡及连接方式。默认有3种,见下表

名称 类型 含义
桥接 VMnet0 相当于在网络中虚拟一个真实的主机。和我的主机共享同一个网络;同一个网络当中的机器可以互相ping通虚拟机
仅主机 VMnet1 只能真机和虚拟机互通,或者虚拟机之间互通;不可以上网
NET VMnet8 可上网,虚拟机之间可互通,真机和虚拟机可互通,网络上的机器(外网)是ping不了虚拟机的

2、虚拟网卡配置的三种方式

systemctl status network #查询网卡服务状态
systemctl status NetworkManager #查询network管理的服务状态
systemctl stop NetworkManager #关闭network管理服务

2.1、使用ifconfig 启动虚拟IP (临时性)

此方法是临时性更改,重启后消息

ifconfig ens33 192.168.245.102/24 

2.2、虚拟出一个网卡

此方法是临时性更改,重启后消息
创建2个虚拟网卡:ens33:0、ens33:1

ifconfig ens33:0 192.168.1.1/24
ifconfig ens33:1 192.168.2.1/24


禁用网卡

ifconfig ens33:1 down  // 可以缩写ifdown ens33
ifconfig ens33:0 down


禁用之后ifconfig就没有ens33:0和ens33:1两个虚拟网卡
那么如何启用网卡呢

ifconfig ens33
ifconfig ens33 up // 可以缩写fup ens33

3、编辑配置文件

配置文件:/etc/sysconfig/network-scripts/
进入配置文件目录,ifcfg-ens33:是配置文件,需要要有,若系统没有就需要自己配置
这里可以看一下文件ifub,是做的软链接,在执行时就直接写入ifub即可

编辑方法:

  1. vim/etc/sysconfig/network-scripts/ifcfg-ens33

    各字段的含义如下
  • DEFROUTE=yes # 默认路由:是
  • IPV4_FAILURE_FATAL=no # 是否开启IPV4致命错误检测:否
  • PV6INIT=yes # IPV6是否自动初始化: 是
  • IPV6_AUTOCONF=“yes” # IPV6是否自动配置:是
  • IPV6_ADDR_GEN_MODE=stable-privacy # IPV6地址生成模型
    • stable-privacy 是一种生成IPV6的策略
  • NAME=ens33 # 网卡名字(与DEVICE一致)
  • UUID=6ac17c2b-473e-4894-811b-4940ee7bf455#唯一标识码:设备的ID
  • DEVICE=ens33 #网卡设备
  • ONBOOT=yes # 是否激活网卡;随系统启动而启动
    • 两种状态:yes/no;若配置no,网卡端口关闭;一般不会配置no
  • IPADDR=192.168.238.130 #ip地址(static设置)
  • NETMASK=255.255.255.0 #子网掩码
  • GATEWAY=192.168.238.2 #网关
  • DNS1=114.114.114.114 #dns地址解析
    • 若写第二个DNS后面就写DNS2,即使只有一个,DNS也要跟1
    • DNS2=8.8.8.8(谷歌地址)
      PREFIX=24#路由前缀,子网掩码;可不写
  1. 更改配置文件之后需要重启服务,不报错即重启成功
systemctl restart network.service

  1. 查看一下network的服务状态

4、虚拟网络编辑器

  1. VMnet0:桥接,桥接模式必须要选择正确的网卡
    无线网络需要选择无线的桥接模式


有线网络需要连接有线的桥接模式

  1. VMnet1:仅主机模式;有dhcp的功能,若勾选就配置网络分配的192.168.10.0网段的ip,多没有勾选就可以自己设定网段ip
  2. VMnet8:net模式,有dhcp功能,系统分配的192.168.35.0网段

    在net设置里面已经分配的网关地址,ip不可以与网关一样
  3. 增加网卡路径:虚拟机右击–设置-网络适配器–添加-选择网络连接–确定

    这里是增加了3个虚拟机 VMnet2-4

2.5、实操

增加一块网卡,并且配置可以ping通本机

  1. 增加网卡

    需要关闭网络管理服务和重启网络服务
systemctl stop NetworkManager
systemctl restart network

ifconfig发现已经成功添加一块网卡:ens37

2、编辑ens37的配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens37


没有勾选dhcp,自己设定与本机不一样的ip地址
这时 重启网络:systemctl restart network

  1. 验证网络
    打开本机以太网

    本机ip地址需要设置成跟虚拟机一个网段,非同一ip地址

    这时在本机ipconfig,查询已有192.160.88.1,ping虚拟机ip地址是可以ping通的

5、xsehll连接不上虚拟机排错

  • 先ping一下虚拟机
    • 若ping不通,就看下物理层面的问题,如网络接口之类
    • 若ping通,就查看端口,进程,服务
      • 再看下虚拟机端口ssh22是否开启
      • 若没有开启端口,就看下服务是否开启
      • 若服务没有开启,就开启服务

三、探测工具-ping、traceroute(路由追踪)

1、ping

虚拟机上面ping主机,ping通即网络无问题

ping -c num IP地址/域名           #指定ping的次数
ping -w 时长(单位s)IP地址/域名   #指定ping的时间
ping -i 时长(单位s)ip地址/域名   #间隔多少sping一次

实例:
ping -c 2 192.168.245.1 #ping192.168.245.1 2次

正常ping通时,是默认1sping一次
ping -w 10 192.168.245.1 #ping10s结束

ping -i 0.1 -c 10 192.168.245.1 #每个0.1s的时间ping10次

2、traceroute(路由追踪)

路由追踪traceroute针对ping来说更加精确,还会反馈追踪

traceroute IP地址


追踪百度:*号代表对方有防火墙

3、域名解析-nslookup、host、dig

192.168.1.1是本机的网关,网关作为服务器去解析了
nslookup www.baidu.com

host 网址:域名解析的命令

dig 网址:域名解析命令

四、虚拟机添加路由

1、静态路由route

route:查看linux服务器上的路由表

ip route                                              #查看路由表具体明细
route-n                                               #显示更详细,显示出网关
route add -net IP地址 netmask 子网掩码地址 gw 网关地址    #添加到指定网段的路由记录
route del -net 目标网段(需要添加掩码)                    #删除到指定网段的路由记录
route add default gw ip地址                           #向路由表中添加默认网关记录
route del default gw ip地址                           #删除路由表中默认的网关记录
route add -host                                      #添加主机路由
route del -host 目标网段                              #删除主机路由

Genmask:子网掩码
Flags:标志位;UG:代表默认路由
Metric:跳数


route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.254.2:添加linux系统,ip:192.168.2.0,子网掩码:255.255.255.0,网关:192.168.254.2的路由

还可以指定接口:dev;也可以不写

route add -host 192.168.4.1 gw 192.168.245.2  dev ens33 
#添加主机ip:192.168.4.1,网关为192.168.245.2,指定网络接口为ens33


route add -host 192.168.3.1 gw 192.168.245.2:添加主机ip地址192.168.3.1 网关192.168.245.2

2、默认路由

route add default gw 网关地址

route add default gw 192.168.245.22:添加默认路由 网关192.168.245.22

五、主机名-hostname命令

1、修改主机名

  1. hostname 名字:更改主机名,bash立即生效
    临时性的,重启即消失
  2. 永久性的更改(两种方法)
    • vim /etc/hostname
      删除原来的内容,写入需要更改的名字—reboot即生效
    • 输入 hostnamectl set-hostname liu
      bash 立即生效
      然后进入vim /etc/hostname
      内容已更改为liu

2、hostname命令配置

hostname -i      #查看本机的ipv6的地址
echo ¥HOSTNAME  #查看hostname的环境变量


六、查看服务端口-netstat、ss及time命令

1、netstat:查看端口的连接状态

常用选项

a   #查看所有的端口号的状态
l   #查看LISTEN状态的端口号
n   #端口号显示数字;把服务解析成数字
p   #显示进程的状态,即PID进程号
t   #查看tcp协议端口状态
u   #查看udp协议端口状态
r   #查看路由表
i   #只查看监听(linsten状态)连接
w 显示RAW传输协议的连线状况

实例
netstat -a | head
netstat -l | head

netstat -n | head:查看端口号

netstat -antp | head:查看tcp协议的所有进程号,端口号

netstat -r:查看路由表

2、获取socket统计信息-ss

ss [选项]  #查看系统的网络连接情况,获取socket统计信息

常用选项

a   #查看所有的端口号的状态
t   #查看tcp已连接的状态
l   #查看LISTEN状态的端口号
n   #端口号显示数字;把服务解析成数字
p   #显示进程的状态,即PID进程号
u   #查看udp协议端口状态
r   #查看路由表
o   #查看状态有个计算器,存活时间
4   #-6 只显示v4或v6V版本的
s   #打印出统计信息。这个选项不解析从各种源获得的socket。对于解析/proc/net/top大量的sockets计数时很有效
0   #显示PACKET sockets
w   #只显示RAW sockets
x   #只显示UNIX域sockets
i   #只查看监听(linsten状态)连接


ss -t state established:查看tcp已连接的established状态

ss -t state time-wait:查询tcp已连接的time-wait状态

ss -o state established

3、netstat和ss的区别

ss相较于netstat速度快,更加详细;
ss比netstat快的主要原因是,netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息;

下面我们来简单测试下在大量查询端口信息时,两者之间的时间差距,使用命令-time

time 命令:查看命令执行的时间
time -o:查看状态有个计算器,存活时间

查看并发连接数ss和netstat对比:ntstat0个数量用来0.002s;而ss查看了711个采用了0.0.13s
time netstat -ant | grep EST | wc -l
time ss -o state established | wc -l


转载:https://blog.csdn.net/weixin_56667320/article/details/117026453
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场