网络基础命令大全

网络基础命令大全该命令来自于 net tools 包 建议使用 ip 代替

大家好,欢迎来到IT知识分享网。

ifconfig命令 会被ip代替

该命令来自于net-tools包,建议使用 ip 代替

[root@ubuntu ~]# dpkg -S /sbin/ifconfig net-tools: /sbin/ifconfig #常用选项 -a #显示所有 -s #以短格式显示 -v #显示详细错误信息 常用子命令 add #给设备添加IPV6地址 del #删除IPV6地址 broadcast|-broadcast #给设备添加广播地址|删除广播地址 pointtopoint|-pointtopoint #设定点对点通讯协议 netmask #设定子网掩码 dstaddr #设定目标地址 tunnel #建立隧道 hw #指定硬件类型 mtu #指定设备最大传输单元(单位:字节) arp|-arp #指定设备是否支持ARP协议 allmulti|-allmulti #指定设备是否支持多播 multicast #指定组播 promisc|-promisc #指定设备支持promiscuous模式 up #启用设备 down #禁用设备
[root@ubuntu ~]# ifconfig -s eth0 Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 312 0 0 0 269 0 0 0 BMRU #字段说明 Iface #网络设备 MTU #该接口设备最大传输单元,单位是字节,就是一个数据包不能超1500字节 RX-OK #收包时成功接收的数据包数量 RX-ERR #收包时出错的数据包的数量 RX-DRP #收包时丢弃的数据包的数量 RX-OVR #收包时由于过速(接收设备收不过来)而丢弃的数据包数量 TX-OK #发包时成功发送的包的数量 TX-ERR #发包时出错的数据包的数量 TX-DRP #发包时被丢弃的数据包的数量 TX-OVR #发包时由于过速而丢弃的数据包的数量 Flg #标志位 #Flg字段说明 B #该设备已经设置了广播地址 L #该设备是一个回环设备 M #该设备能接收所有经过它的数据包,而不论其目的地址是否是它本身(混乱模式) N #该设备不能被追踪 O #在该设备上禁用ARP P #这是一个点到点链接 R #当前设备正在运行 U #当前设备处于活动状态

route 命令 该命令来自于net-tools包,建议使用 ip 代替

查看路由表,以IP格式显示

[root@ubuntu ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.0.2 0.0.0.0 UG 100 0 0 eth0 10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0 10.0.0.2 0.0.0.0 255.255.255.255 UH 100 0 0 eth0

路由表个字段:

字段

说明

Destination

0.0.0.0 默认路由

Gateway

网关

Genmask

子网掩码

Flags

标记位 U(启用)|H(主机)|G(使用网关)|R(动态路由)|D(动态安装)|M(动态修改)|A(addrconf)|C(缓存)|!(拒绝)

Metric

开销cost,值越小,路由记录优先级最高

Ref

引用此路由的次数

Use

使用次数

Iface

接口,到达对应网络,应该从当前主机那个网卡发送

 

添加路由:

#添加路由:route add [-net|-host|default] target [netmask Nm] [gw GW] [[dev] If] #目标:192.168.1.3 网关:172.16.0.1 route add -host 192.168.1.3 gw 172.16.0.1 dev eth0 #目标:192.168.0.0 网关:172.16.0.1 route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0 route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0 #默认路由,网关:172.16.0.1 route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1 route add -net 0.0.0.0/0 gw 172.16.0.1 route add default gw 172.16.0.1

删除路由:

#删除路由:route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If] #目标:192.168.1.3 网关:172.16.0.1 route del -host 192.168.1.3 #目标:192.168.0.0 网关:172.16.0.1 route del -net 192.168.0.0 netmask 255.255.255.0

ip route 命令实现:

#添加 ip route add 20.0.0.0/24 dev eth0 via 10.0.0.123 #查看 ip route ip route show #删除 ip route del 20.0.0.0/24 dev eth0 via 10.0.0.123

用主机实现软路由:

1. 主机1配置桥接,NAT两块网卡,充当路由 2. 主机2配置仅主机,NAT两块网卡,充当路由 3. 主机3配置一块桥接网卡,路由网关指向主机1桥接网卡上配置的IP地址 4. 主机4配置一块仅主机网卡,路由网关指向主机2仅主机网卡上配置的IP地址 5. 主机1和主机3的桥接网卡为一个网段 6. 主机1和主机2的NAT网卡为一个网段 7. 主机2和主机4的仅主机网卡为一个网段 8. 通过上述配置,让主机3和主机4之间,经由主机1和主机2中转,实现连通 

具体实现过程:

#桥接网卡 [root@rocky86 network-scripts]# vim ifcfg-ens192 DEVICE=ens192 NAME=con-ens192 IPADDR=172.16.1.254 PREFIX=16 #NAT网卡 [root@rocky86 network-scripts]# vim ifcfg-ens160 DEVICE=ens160 NAME=con-ens160 IPADDR=10.0.0.8 PREFIX=8 #启用 [root@rocky86 network-scripts]# nmcli conn reload;nmcli con up con-ens160;nmcli con up con-ens192; #查看 [root@rocky86 network-scripts]# ip a show ens160 [root@rocky86 network-scripts]# ip a show ens192 #添加路由 [root@rocky86 network-scripts]# route add -net 10.0.0.0/8 dev ens160 [root@rocky86 network-scripts]# route add -net 172.16.0.0/16 dev ens192 #添加指向 192.168.10.0 网段的网关,其出口设备为本机NAT网卡,网关为主机2上的NAT网卡地址 [root@rocky86 network-scripts]# route add -net 192.168.10.0/24 gw 10.0.0.88 dev ens160 [root@rocky86 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens160 172.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ens192 192.168.10.0 10.0.0.88 255.255.255.0 UG 0 0 0 ens160 #开启路由转发 [root@rocky86 network-scripts]# echo 1 > /proc/sys/net/ipv4/ip_forward (很重要)

配置主机2:

#NAT网卡 [root@rocky86 network-scripts]# vim ifcfg-eth0 DEVICE=eth0 NAME=con-eth0 IPADDR=10.0.0.88 PREFIX=8 #仅主机网卡 [root@rocky86 network-scripts]# vim ifcfg-eth1 DEVICE=eth1 NAME=con-eth1 IPADDR=192.168.10.254 PREFIX=24 #启用 [root@rocky86 network-scripts]# nmcli con reload;nmcli con up con-eth0;nmcli con up con-eth1; #查看 [root@rocky86 network-scripts]# ip a show eth0 [root@rocky86 network-scripts]# ip a show eth1 #添加路由表 [root@rocky86 network-scripts]# route add -net 10.0.0.0/8 dev eth0 [root@rocky86 network-scripts]# route add -net 192.168.10.0/24 dev eth1 #添加指向 172.16.0.0 网段的网关,其出口设备为本机NAT网卡,网关为主机1上的NAT网卡地址 [root@rocky86 network-scripts]# route add -net 172.16.0.0/16 gw 10.0.0.8 dev eth0 [root@rocky86 network-scripts]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0 172.16.0.0 10.0.0.8 255.255.0.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 #开启路由转发 [root@rocky86 network-scripts]# echo 1 > /proc/sys/net/ipv4/ip_forward

配置主机3:

#桥接网卡 [root@ubuntu22:~]# cd /etc/netplan/ [root@ubuntu22:/etc/netplan]# vim eth0.yaml network: renderer: networkd eth0: addresses: [172.16.1.110/16] version: 2 #刷新网卡 [root@ubuntu22:/etc/netplan]# netplan apply #添加路由和网关 [root@ubuntu22:/etc/netplan]# route add -net 172.16.0.0/16 dev eth0 [root@ubuntu22:/etc/netplan]# route add default gw 172.16.1.254 dev eth0

配置主机4:

#仅主机网卡 [root@ubuntu22:~]# cd /etc/netplan/ [root@ubuntu22:/etc/netplan]# vim ens33.yaml network: renderer: networkd eth0: addresses: [192.168.10.110/24] version: 2 #刷新网卡 [root@ubuntu22:/etc/netplan]# netplan apply #添加路由和网关 [root@ubuntu22:/etc/netplan]# route add -net 192.168.10.0/24 dev ens33 [root@ubuntu22:/etc/netplan]# route add default gw 192.168.10.254 dev ens33

测试验证:

#主机3 ping 主机4 [root@ubuntu22:/etc/netplan]# ping 192.168.10.110 PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data. 64 bytes from 192.168.10.110: icmp_seq=1 ttl=62 time=1.94 ms 64 bytes from 192.168.10.110: icmp_seq=2 ttl=62 time=2.47 ms 64 bytes from 192.168.10.110: icmp_seq=3 ttl=62 time=1.99 ms ...... #主机4 ping 主机3 [root@ubuntu22:/etc/netplan]# ping 172.16.1.110 PING 172.16.1.110 (172.16.1.110) 56(84) bytes of data. 64 bytes from 172.16.1.110: icmp_seq=1 ttl=62 time=2.21 ms 64 bytes from 172.16.1.110: icmp_seq=2 ttl=62 time=2.16 ms 64 bytes from 172.16.1.110: icmp_seq=3 ttl=62 time=1.85 ms

开启路由转发功能:

#查看 cat /proc/sys/net/ipv4/ip_forward 1 #如果此项没开启,则可以以修改配置文件开启 vim /etc/sysctl.conf net.ipv4.ip_forward=1 #生效 sysctl -p net.ipv4.ip_forward = 1 #再次查看 sysctl -a | grep ip_forward net.ipv4.ip_forward = 1

#抓包工具:

tcpdump -i ens160 -nn icmp

#跟踪路由

mtr 192.168.10.254 -n

netstat命令: 来自于net-tools包,建议使用 ss 代替

#常用选项 -A #指定网络类型 inet|inet6|unix|ipx|ax25|netrom|econet|ddp|bluetooth -r|--route #显示路由表 -t|--tcp #显示tcp端口数据 -u|--udp #显示udp端口数据 -w|--raw #raw socket相关 -l|--listening #仅显示处于监听状态的端口 -a|--all #所有数据 -n|--numeric #以数字显示IP和端口 -s|--statistice #显示统计数据 -p|--program #显示相关进程及PID -x|--unix #同 -A unix -ip|--inet #同 -A -I|--interfaces=<Iface> #指定设备 #常用组合 -tan, -uan, -tnl, -unl

仅显示Listen(监听) 状态的TCP,UDP连接,并显示进程ID和程序

#统计指定网卡数据 [root@Rocky86 ~]# netstat -I=eth0 [root@Rocky86 ~]# netstat -Ieth0 #ubuntu中没有 -I 选项,版本不一样

IP命令 来自于iproute包,可用于代替ifconfig

#主要用来查看链路层信息 [root@Rocky86 ~]# ip link [root@Rocky86 ~]# ip address [root@Rocky86 ~]# ip route
#禁用网卡 [root@ubuntu ~]# ip link set eth1 down #改名 [root@ubuntu ~]# ip link set eth1 name eth1-test #启用 [root@ubuntu ~]# ip link set eth1-test up #查看 [root@ubuntu ~]# ip link show eth1-test #查看网卡 [root@ubuntu ~]# ip address show eth1 #向设备添加IP地址 [root@ubuntu ~]# ip address add 10.0.0.110/24 dev eth1 #添加别名 [root@ubuntu ~]# ip address add 10.0.0.114/24 dev eth1 label eth1:114 #删除IP [root@ubuntu ~]# ip a del 10.0.0.119/24 dev eth1 #删除别名 [root@ubuntu ~]# ip a del 10.0.0.114/24 dev eth1 label eth1:114

CentOS 中的网卡配置上多个地址-永久有效

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens224 DEVICE=ens224 NAME=ens224 IPADDR=172.16.1.59 PREFIX=24 IPADDR2=172.16.1.49 PREFIX2=24 IPADDR3=172.16.1.39 PREFIX3=24 GATEWAY=172.16.1.254 BOOTPROTO=static DNS1=8.8.8.8 #重新生效 [root@localhost ~]# nmcli connection reload;nmcli connection up ens224 #如果想删除该配置,则直接删除文件即可 [root@localhost network-scripts]# rm ifcfg-ens224:1

管理路由:

#添加路由 ip route add TARGET via GW dev IFACE src SOURCE_IP #添加网关: ip route add default via GW dev IFACE #删除路由: ip route del TARGET #显示路由: ip route show|list #清空路由表: ip route flush [dev IFACE] [via PREFIX] #查看路由过程 ip route get IP

ss 命令 来自于iproute包,代替netstat

#常用选项 -n|--numeric #不以主机名的格式显示 -r|--resolve #以主机名的形式显示IP -a|--all #显示所有数据 -l|--listening #仅显示listen状态的连接 -m|--memory #显示连接内存使用情况 -p|--processes #显示对应的进程 -i|--info #显示TCP连接的详细信息 --tipcinfo #显示TIPC连接的详细信息 -s|--summary #显示统计信息 -4|--ipv4 #仅显示IPV4连接数据 -6|--ipv6 #仅显示IPV6连接数据 -0|--packet #仅显示PACKET数据 -t|--tcp #仅显示tcp数据 -M|--mptcp #仅显示mptcp数据 -S|--sctp #仅显示sctp数据 -u|--udp #仅显示udp数据 -d|--dccp #仅显示dccp数据 -w|--raw #仅显示原生套接字数据 -x|--unix #仅显示unix数据 --tipc #仅显示tipc数据 --vsock #仅显示vsock数据 -f|--family=FAMILY #根据类型过滤 {inet|inet6|link|unix|netlink|vsock|tipc|xdp|help} -A|--query=QUERY|--socket=QUERY #根据连接类型过滤 {all|inet|tcp|mptcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|ne tlink|vsock_stream|vsock_dgram|tipc}[,QUERY] #常用组合 -tan, -uan, -tnl, -unl

网络配置工具 nmcli(rocky)

#常用选项 -a|--ask #询问 -c|--colors #输出时是否显示颜色 auto|yes|no -e|--escape #是否转义分隔符 yes|no -f|--fields #指定输出列 <field,...>|all|common -m|--mode #显示模式 tabular|multiline -o|--overview #预览模式输出 -p|--pretty #完美格式输出 -t|--terse #简洁格式输出 -v|--version #显示版本信息 -h|--help #显示帮助 #OBJECT g[eneral] #一般状态管理 n[etworking] #整体网络管理 r[adio] #网络连接切换 c[onnection] #网络连接管理 d[evice] #网络设备管理 a[gent] #网络中的代理 m[onitor] #网络中的流量数据监测
#查看网络连接 nmcli con nmcli con show #查看active 状态的连接 nmcli con show --active #显示设备状态 nmcli dev status #显示网络接口属性 nmcli dev show eth1 #删除连接 nmcli con del con-eth1 #启用 nmcli con up con-eth1 #禁用 nmcli con down con-eth1 #刷新 nmcli connection reload; #新增,从dhcp 获取IP地址 nmcli con add con-name con-dhcp type ethernet ifname eth1
#新增网卡配置,自动生成配置文件 [root@Rocky86 network-scripts]# nmcli con add con-name con-eth1 ipv4.addresses 10.0.0.110/24 ipv4.gateway 10.0.0.2 ipv4.dns 114.114.114.114 ipv4.method manual type ethernet ifname eth1 Connection 'con-eth1' (6b2c0337-7fca-4e61-854a-7d7fa916c6b0) successfully added. #让新配置生效 [root@Rocky86 network-scripts]# nmcli co reload;nmcli con up con-eth1 #删除配置 [root@Rocky86 network-scripts]# nmcli con del eth1

在ubuntu中使用nmcli

[root@ubuntu ~]# apt install network-manager [root@ubuntu ~]# vim /etc/NetworkManager/NetworkManager.conf ... [ifupdown] managed=false 修改为 managed=true [root@ubuntu ~]# systemctl restart NetworkManager.service #修改网卡配置 [root@ubuntu ~]# vim /etc/netplan/00-installer-config.yaml # This is the network config written by 'subiquity' network: renderer: NetworkManager #添加此行 ethernets: ens33: dhcp4: true version: 2 [root@ubuntu ~]# netplan apply #刷新网卡

Ubuntu中配置DNS

[root@ubuntu ~]# cat /etc/netplan/00-installer-config.yaml # This is the network config written by 'subiquity' network: renderer: NetworkManager ethernets: eth0: #dhcp4: true addresses: [10.0.0.206/24] gateway4: 10.0.0.2 nameservers: search: [magedu.com,magedu.org] addresses: [223.5.5.5,8.8.8.8] version: 2 [root@ubuntu ~]# netplan apply #查看 [root@ubuntu ~]# resolvectl status #查看指定设备 [root@ubuntu ~]# resolvectl dns eth0 #尽管设备eth0上的DNS 发生了变化,但此处并没有变化 [root@ubuntu ~]# cat /etc/resolv.conf #DNS 测试,还是使用本地DNS [root@ubuntu ~]# dig www.baidu.com

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118030.html

(0)
上一篇 2025-11-16 12:10
下一篇 2025-11-16 12:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信