Linux学习笔记——网络管理命令

一、网络基础知识

TCP/IP四层模型

以太网地址(MAC地址):

段16进制数据

IP地址:

子网掩码:

二、接口管命令

ip命令:字符终端,立即生效,重启配置会丢失

nmcli命令:字符终端,立即生效,重启后配置也不会丢失

nmtui命令:可视化终端,立即生效,重启后有效

1、ip命令:

(1)作用:可以显示或操作路由,网络设备,设置路由策略和通道。

(2)语法:ip [选项] OBJECT COMMAND [help]

OBJECT对象可以是:link------网络设备,addr------设备协议地址,route------路由器

rule------策略,等等

COMMAND是操作命令,不同对象有不同的命令

link对象支持:set,show

addr对象支持:add,del,flush,show

route对象支持:list,flush,get,add,del,change,append,replace

(3)实例:

ip link #显示网络运行状态

ip -s link #显示更多详细link的数据

ip -s link show ens160 #只显示ens的信息

ip link set ens160 down #让ens160停止工作

ip link set ens160 up #让ens160继续工作

ip address #协议地址管理

ip addr|a show [网络设备名] #查看指定网络设备的配置信息

ip -s a show #详细信息

ip [4/6可选协议选择] addr add 1.1.1.1/24 dev ens160 #添加(临时,重启会失效)IP地址

ip [4/6可选协议选择] addr del 1.1.1.1/24 dev ens160 #删除IP地址

ip route #路由表管理

ip route show #查看路由情况

ip route add default via 192.168.0.254 dev eth0 #设置默认网关(下一跳设备IP)为192.168.0.254

下一条的地址不对,使用本电脑的IP地址192.168.68.133

ip route add default via 192.168.68.133 dev eth0

ip route show #再次查看是否添加成功

ip route del default via 192.168.68.133 #删除1192.168.68.133网关

ip route del default #删除默认路由

2.nmcli命令

NetworkManager Client

使用这个命令,系统会自动将配置写入/etc/NetworkManager/system-connections/ens160.nmconnections中,实现永久修改。

接口(device)是一个物理设备,一个物理设备可以拥有多个配置文件,但只有一个配置文件属于使用(active)状态:配置文件的生成与使用状态均由NetworkManager控制。

(1)查看网卡设备

语法格式:nmcli device/d

实例:

nmcli d show |grep IP4 #仅查看IP4的信息(|grep #过滤)

nmcli d disconnect ens160 #断开连接

nmcli d connect ens160 #建立连接

(2)查看网卡配置

语法格式:nmcli connection/c

实例:

nmcli c #查看网卡信息

nmcli c show ens160 |grep -i gateway #仅查看gateway的信息

nmcli c show ens160 |grep -i dns #查看当前网卡的DNS域名服务器

(3)配置网卡信息:

非交互式:

需求:修改ens160的IP地址为192.168.68.128,并且时ipv4,自动连接,dns为114.114.114.114,网关为192.168.68.2,子网掩码为:255.255.255.0。

nmcli c modify ens160 ipv4.method manual autoconnect yes ipv4.addresses 192.168.68.128/24 ipv4.gateway 192.168.68.2 ipv4.dns 114.114.114.114

如果没有立即生效,需要重启服务:systemctl restart NetworkManager

交互式:

nmcli c edit ens160 #交互式编写ens160
goto ipv4 #前往ipv4
set dns 8.8.8.8 #设置域名为8.8.8.8
set addresses 1.1.1.1/24 #设置地址为1.1.1.1/24
save #更新
activate #激活
quit #退出

说明:

在NM里,在2个维度:连接(connection)和(device),

这是多对一的关系,想给某个网卡配置ip地址,首先NM要能纳管这个网卡。

设备里存在的网卡(及nmcli c可以看到的),就是NM纳管的。接着,可以为一个设备

配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。

同一时刻,一个设备只能有一个连接活跃。可以通过nmcli c up切换连接。

nmcli d ==>device是设备的意思,一般都是某个网卡设备

nmcli c ==>connect是连接的意思,一般都是某个配置文件

一个设备可以有多个连接,一个连接一定只有一个设备。

常用:

nmcli        d        show        ens160

nmcli        d        connect        ens160

nmcli        d        disconnect        ens160

nmcli        d        modify        ens160        +ipv4.addresses        192.168.0.2/24



nmcli        c        show        ens160        |grep        -i        gateway

nmcli        c        up        ens160        

nmcli        c        down        ens160

nmcli        c        mod        ens160        +ipv4.addresses 192.168.0.2/24

最后可以通过如下方式让命令生效,需要重新取消激活,或者重启网络服务才能使之生效

systemctl(控制系统) restart (重启) NetworkManager(对象)

3.nmtui命令(NetworkManager Termial user interface)

这个命令用于可视化方式来进行配置

DNS域名服务器

114.114.114.114 国内的

8.8.8.8 国外的

三、网络维护命令

1、ssh命令

远程登陆,在自己的虚拟机上登陆别人的虚拟机,前提是要网络可达

xshell就是基于ssh

语法:ssh [参数] 域名或IP地址

实验环境:192.168.68.129为登陆端

192.168.68.128为被登录端

首先在登录端测试192.168.68.128是否可达:ping 192.168.68.128

使用ssh命令登陆

ssh 192.168.68.128 #用默认的root身份访问目标路由器

输入密码后登陆成功,可以对被登陆端中的文件进行操作,退出exit

其他实例:

ssh -l bzy 192.168.68.128 #使用存在的用户身份进行登陆

ssh 192.168.68.128 "free -m" #不登进去,但是会执行冒号的命令,并且把执行结果返回来

ssh -1 192.168.68.128 #强制使用v1版本的SSH加密协议连接远程服务器主机

也可以使用xshell通过ssh的22端口

2、netstat命令

查看网络状态

netstat命令来自英文词组network statistics的缩写,其功能是显示各种网络相关信息

实例:

netstat -a #显示所有连接信息

netstat -nu #显示系统网络状态中的UDP连接信息

netstat -apu #显示系统网络状态中的UDP连接端口号的使用信息

netstat -i #显示网卡当前状态信息

netstat -r #显示网络路由表当前的信息状态

netstat -anp |grep ssh #过滤出某个对应的连接信息

对照学习:ss指令

ss -a #显示所有套接字

ss -l #显示处于监听状态的套接字

ss -n #不解析服务名称,以数字形式显示

ss -p #显示使用套接字的进程

ss -t #显示TCP协议的套接字

ss -u #显示UDP协议的套接字

ss -tunl |grep 22(端口号) #参数输出(常用)

3、dhclient命令

手动打开再次自动获取IP地址

下载:yum install dhclient

实例:

dhclient ens160 #通过指定网卡发起DHCP请求,获取网卡参数

dhclient -r #释放系统已获取的网卡参数

dhclient -s 192.168.68.128 #向指定服务器请求网卡参数

dhclient -x #手动停止执行dhclient服务进程

4、ifconfig命令

与IP命令相似

设置或显示网络信息

语法格式:ifconfig 参数 网卡名 动作

常用参数:

-a 显示所有网卡状态

-v 显示执行过程详细状态

-s 显示简短状态列表

常用动作:

add 设置网络设备的IP地址

del 删除网络设备的IP地址

down 关闭指定的网络设备

up 打开指定的网络设备

实例:

ifconfig #显示网络设备存活信息,不包括down状态的网卡

ifconfig -a #显示网络设备信息,包括down状态的网卡

ifconfig ens160 down #关闭网卡设备

ifconfig ens160 up #打开网卡设备

ifconfig ens160 192.168.68.130 netmask 255.255.255.0 #临时修改IP

或者ifconfig ens160 192.168.68.130/24

ifconfig ens160 hw ether 00:0c:29:72:34:50 #修改MAC地址(极度危险!)

ifconfig ens160 -arp #对指定网卡设备关闭ARP协议

ifconfig ens160 arp #对指定网卡设备打开ARP协议

(ARP地址解析协议------IP获取MAC)

arp -an #记录消息来源(记录谁来了)

ifconfig ens160 192.168.68.129/24 up

ens160就是网卡名称

192.168.68.129是要配置的IP地址

24配置给IP地址的子网掩码24

up配置IP和mask后启动该网卡

ifconfig ens160 down 网卡停用

ifconfig ens160 192.168.68.129/24 网卡重新配置

ifconfig ens160 up 网卡启动

ifconfig ens160 0.0.0.0 up 网卡地址没有配置

5、ping命令

测试网络可达性

语法格式:ping 参数 域名或IP地址

实例:

ping baidu.com #测试与指定域名之间的网络可达性

ping -c 4 192.168.68.128 #测试指定主机间网络可达性,发送请求限定在4个

ping -c 3 -i 0.2 -w 3 192.168.68.128

请求3次 间隔0.2秒 最长等待时间3秒

互联网出故障的解决流程:

①ping 自己的网卡 #确认网卡(IP地址)正常工作

②ping 自己的网关 #确认下一跳工作正常(ip route show查看网关)

③ping (114.114.114.114)dns服务器 #如果不行修改dns服务器(修改/etc/resolv.conf)

④ping 公共地址(baidu.com) #测试与外网服务器的联通状态

添加网关指令:route add default gw 192.168.68.2

route del default gw 192.168.68.2

6、iptables命令

网络防火墙

基于内核级别的防火墙服务。对数据包进行过滤操作,拒绝掉危险的外部请求流程,保护内网安全

iptables命令默认ipv4。

语法格式:iptables [参数] [对象]

实例:

iptables -L #显示当前防火墙策略中过滤的全部信息

input------防范进来的

forward------防范经过的

output------防范过去的

iptables -L -t nat #显示当前防火墙策略中指定的NAT表的信息

iptables -I INPUT -s 192.168.68.128 -j DROP #禁止192.168.

68.128主机访问本地。

结果为192.168.68.128访问不到192.168.68.129

iptables -F #删除所有禁止

192.168.68.128就可以访问192.168.68.129。

iptables -I INPUT -s 192.168.68.128 -p tcp --dport 22 -j DROP

#禁止192.168.68.128的22号端口,其余的允许进入

可以ping通,但ssh使用的是22号端口。

连不上。

相关推荐
_zwy6 分钟前
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
linux·运维·c++·深度学习·神经网络
别致的影分身32 分钟前
Linux网络 应用层协议 HTTP
运维·网络·网络协议·http
半夏云流38 分钟前
CMake常用命令指南(CMakeList.txt)
linux·makefile·cmake
ccnnlxc1 小时前
日志收集Day007
运维·jenkins
鲁子狄2 小时前
[笔记] 极狐GitLab实例 : 手动备份步骤总结
linux·运维·笔记·ubuntu·centos·gitlab
Xam_d_LM2 小时前
【Linux】列出所有连接的 WiFi 网络的密码
linux·服务器·网络
机器视觉小小测试员2 小时前
工业相机常用词语解释
运维·ui·自动化·工业相机
水饺编程2 小时前
简易CPU设计入门:控制总线的剩余信号(四)
linux·嵌入式硬件·fpga开发·硬件工程
davenian3 小时前
< OS 有关 > Android 手机 SSH 客户端 app: connectBot
运维·服务器·网络安全·ssh