ifconfig命令

用于配置网卡ip地址等网络参数信息,或者查看网络接口信息,类似于windows的ipconfig命令,还能够临时性的配置IP地址、子网掩码、广播地址、网关信息等。

注意:ifconfig命令只能用root去操作,且可能需要单独安装这个命令

安装

yum install net-tools

使用

1 查看网络地址信息

查看所有的网络接口信息

ifconfig

查看指定的网卡信息

[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.192.128  netmask 255.255.255.0  broadcast 192.168.192.255
        inet6 fe80::aeef:ebd8:49f6:fcce  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:30:1c:17  txqueuelen 1000  (Ethernet)
        RX packets 66272  bytes 23677306 (22.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3751  bytes 619021 (604.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

第一块网卡的信息,设置名是,网卡配置文件路径是

  • ipv4的地址inet 192.168.192.128
  • 子网掩码地址是 255.255.255.0
  • 广播地址是 192.168.192.255
  • RX/TX packages 代表网卡收发的流量数据包大小

2 启动停止网卡

ifconfig 设备名称 down/up #终端软件慎用

3 修改、设置ip地址

ifconfig ens33:0 192.168.192.118 netmask 255.255.255.0 up

或者

ifconfig ens33:1 192.168.192.119/32 up 

4 修改MAC地址信息

ifconfig ens33 hw ether 00:0c:29.18.CG

5 永久修改网络设备信息,ifconfig命令只是临时修改网络配置,要永久修改还得写入到配置文件中

/etc/sysconfig/network-scripts/ifcfg-设置名

route路由命令

什么是route路由?

计算机之间的数据传输必须经过网络,网络可以直接连接两台计算机,也可以通过一个一个的节点去链接路由可以理解为互联网的中转站,网络中的数据包就是通过一个一个的路由器转发到目的地的。

route程序对linux内地IP路由表进行一个操作。

路由分为静态和动态路由

  • Linux机器上配置的都是静态路由,由运维人员通过route命令去管理,
  • 动态路由无需认为干预,由路由器、交换机自动分配规则而来。

1 查看路由

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.192.1   0.0.0.0         UG    100    0        0 ens33
192.168.192.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

其中-n表示不进行dns解析。

参数解析

  • Destination: 表示网络号,network的意思

  • Gateway: 表示网关地址,网路是通过该IP出口,如果显示0.0.0.0的ip,表示该路由信息是从本机转发出去的

  • Genmask: 子网掩码地址的表示,IP地址配合子网掩码,才是一个完整的网络信息

  • Flags: 路由标记,标记当前的网络状态U

    • Up运行的状态

    • G 表示这是一个网关路由器

    • H 表示这个网关是一个主机

    • !表示当前这个路由器已禁止

2 添加删除网关信息

网关就是数据包不经过任何的设定路由表最后经过的地址关口,是网络的接口,数据只能通过网关地址出外网

删除网关

route del default

添加网关

route add default gw 192.168.192.1 

ip命令

ip命令是iproute软件包中强大的网络管理工具,查看系统路由,网络设置,设置策略等功能。

[root@localhost ~]# ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila |
vrf }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec |
-f[amily] { inet | inet6 | ipx | dnet | mpls | bridge | link } |
-4 | -6 | -I | -D | -B | -0 |
-l[oops] { maximum-addr-flush-attempts } | -br[ief] |
-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
-rc[vbuf] [size] | -n[etns] name | -a[ll] | -c[olor]}

ip命令可以操作的对象

  • link 网络设备
  • address 定义ipv4 ipv6的地址
  • neighbour 查看ARP缓存地址(ARP用于解析MAC地址)
  • route 路由表对象
  • maddress 多播地址
  • tunel IP上的通道

ip命令示例

1 查看

显示网路设备信息

ip addr show
ip a

查看指定设备信息

ip link show dev ens33

显示网络设备,详细的数据包收发大小情况

ip -s link show dev ens33

2 关闭、激活网络设备

ip link set ens33 down/up

3 修改MAC地址

ip link set ens33 address 0:0c:29:87:a0:d4

4 添加/删除ip地址

ip addr add/dev 192.168.192.119/32 dev ens33

5 ip命令给网卡添加别名

ip addr add/dev 192.168.192.119/32 dev ens33 label ens33:1

6 查看路由表信息

ip route

7 查看ARP缓存信息(显示网络邻居),检查MAC地址

ip neighbour

netstat命令

显示网络连接情况,路由表信息,端口状态,网络连接情况等。一个进程服务运行之后,会暴露一个端口号,以及产生相应的进程信息。

1 查看所有的网络连接情况

nestat -an

-a 显示所有的套接字(scoket)信息

-n 显示数字地址信息而非主机名

[root@localhost ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 192.168.192.128:5432    192.168.192.2:8282      ESTABLISHED

常见字段解释:

  • proto 套接字使用的协议
  • Recv-Q 连接这个套接字的用户,还未拷贝的字节数
  • Send-Q 远程主机还未确认的字节数
  • Local Address 套接字(一个连接情况)本地的地址和端口号
  • Foreign Address 套接字的远程主机地址和端口号
  • State 套接字的状态
    • ESTABLISHED 套接字有一个有效连接
    • SYN_SENT 套接字尝试建立一个连接
    • SYN_RECV 从网络上收到一个连接请求
    • FIN_WAIT1 套接字已关闭,连接正在断开
    • FIN_WAIT2 连接已关闭,套接字等待远程方中止
    • TIME_WAIT 在关闭之后,套接字等待处理仍然在网络中的分组
    • CLOSED 套接字未使用
    • CLOSE_WAIT 远程方已关闭,等待套接字关闭
    • LAST_ACK 远程方中止,套接字已关闭。等待确认
    • LISTEN 套接字监听进来的连接,如果不设置 --listening(-l)或者--all(-a)选项,将不显示出来这些连接
    • CLOSING 套接字都已关闭,而还未把所有数据发出
    • UNKNOW 套接字状态未知

2 常用的参数组合

netstat -tunlp #查看机器上正在运行的所有端口情况以及其他的进程情况

参数解释如下

  • -t 显示出TCP的连接情况
  • -u 显示出UDP的连接情况
  • -n 不进行dns解析
  • -l 只显示正在监听中的套接字情况
  • -p 显示出套接字所属的进程和进程名情况

3 显示路由表信息

netstat -rn

建议使用ip route 来替代 netstat -r。

4 显示网络接口情况

[root@localhost ~]# netstat -i
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500    68787      0      0 0          4166      0      0      0 BMRU
ens33:1          1500      - no statistics available -                        BMRU
lo              65536     5168      0      0 0          5168      0      0      0 LRU
  • Iface 网络设备的名字
  • MTU 最大传输单元,单位是字节
  • RX-OK/TX-OK 正确接受/发送了多少数据包
  • RX-ERR/TX-ERR 接受、发送数据包的时候,丢弃了多少数据包
  • RX-OVR/TX-OVR 由于错误遗失了多少的数据包
  • Flg标记
    • L:是回环地址的含义
    • R:这个网络接口正在运行中
    • U:接口正在处于活动的状态
    • B:设置了广播地址
    • M:接受所有的数据包
    • O: 表示在该接口上禁止arp
    • P:端对端的连接

查看RX-ERR/TX-ERR最好是0,否则表示网络情况不健康,有丢包的现象,推荐使用ip -s link来替代netstat -i。

5 查看服务监听

netstat -apn|grep 5432
netstat -apn|grep 80
netstat -apn|grep 443

...

ping命令

测试当前主机到目标机器的网络连通性

1 可以进行域名进行ping,查看能否通信,也可以用这个命令当作检测本机是否能够dns解析的命令。

ping www.baidu.com -c 4

2 ping ip地址,省去了dns解析的过程

[root@localhost ~]# ping 36.152.44.95 -c 4
PING 36.152.44.95 (36.152.44.95) 56(84) bytes of data.
64 bytes from 36.152.44.95: icmp_seq=1 ttl=128 time=30.4 ms
64 bytes from 36.152.44.95: icmp_seq=2 ttl=128 time=31.1 ms
64 bytes from 36.152.44.95: icmp_seq=3 ttl=128 time=30.4 ms
64 bytes from 36.152.44.95: icmp_seq=4 ttl=128 time=30.1 ms

--- 36.152.44.95 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3021ms
rtt min/avg/max/mdev = 30.164/30.556/31.179/0.396 ms

解释

  1. ping命令跟着域名或是ip地址,它会一直刷新ping命令的结果,-c可以指定次数
  2. ping命令发送给了远程主机56字节的数据
  3. 从目标机器收到了64字节的数据,icmp_seq表示收到的字节数据序列号,ttl是数据包的存活时间,单位为秒,time是两台机器收发数据的延迟时间

3 ping命令用于检测主机网络状态

检测本机是否能够进行dns解析

ping 出现未知的名称或服务

当出现如上情况,可能是机器无法上网了,也可能是机器无法进行dns域名解析了

验证步骤:

1,检查linux的nds客户端配置文件/etc/resolv.conf确保文件中,有dns服务器的地址

nameserver 114.114.114.114

2,此时再次验证能够进行域名解析,能否发送ping命令

3,当ping远程主机的时候,出现如下报错,就是你自己的机器,无法上外网了,说明网络配置有问题,得正确配置ip信息,以及路由网关地址

Destination Host Unreachable

telnet命令

telnet命令在以前用于登录远程主机的命令,以及检测远程主机的端口是否打开了,但是telnet命令采用的是明文传输,安全性太低,在远程登录的时候,容易丢失或者被黑客截取服务器的密码,因此后台被启用,采用了更安全的ssh远程登录命令

用于检测远程主机是否打开了某端口

telnet 192.168.192.128 80

一般需要先安装

yum install telnet -y

ssh命令

ssh命令是openssh软件包中的一个套件命令,使用ssh加密的协议进行远程登录,并且对服务器的远程管理,在windows平台,常用Xshell,CRT工具进行远程登录,linux、macos,可以直接在命令行终端,输入ssh指令即可,ssh连接的是服务器上运行的sshd这个应用程序,且后台监听的是22端口

语法

ssh 用户名@ip地址
  • -p port 默认22

不用登录到服务器,可以直接输入命令查看

ssh 用户名@ip地址 “执行的命令”
posted on 2022-12-17 19:41  jl1771  阅读(101)  评论(0编辑  收藏  举报