Linux——网络配置命令
一、ifconfig
自ubuntu17起,已经不提供这个命令了,要自动安装
sudo apt install net-tools
ifconfig -a :查看当前系统所有的网络接口
ifconfig interface(PS:这里是网络接口的名称) down:禁用当前网络接口
ifconfig interface up :启用网络接口
二、ip命令
1、管理网络接口
1)、ip link list 显示网络设备的运行状态
by XiaoGua
2)、ip -s link list 显示更详细的网络设备运行状态
by XiaoGua
-
、ip link set ens33 down : 让ens33接口禁用
by XiaoGua
以上两个禁用/启用等同于:
ifconfig ens33 down
ifconfig ens33 up
4)、ip link set dev ens33 mtu 1600: 改变网络设备最大传输单元 MTU的值为1600
by XiaoGua
2、管理ip地址
1)、ip a show dev ens33 显示指定网络接口的ip
by XiaoGua
2)、ip addr ls ens33
by XiaoGua
3)、ip addr add 192.168.125.1/24 dev ens33 为ens33增加一个新的ip地址
by XiaoGua
4)、ip addr delete 192.168.125.1/24 dev ens33 删除ens33指定的ip地址 by XiaoGua
5)、ip -4 addr flush ens33
by XIaoGua
通过id修改的ip地址重启后会消失。如果要永久保存,则需要修改配置文件
3、管理路由表
1)、ip route show 显示main 路由表的路由信息
by XiaoGua
2)、为路由表命名
cat /etc/iproute2/rt_tables
by XiaoGua
每行定义一个路由表,前面的数字为路由编号,后面为路由名称
以上的几个路由表为默认路由表,用户不可以修改
默认所有的路由表都会被插入到254的main表中。在进行路由查询时,内核只使用路由表main
3)、ip route show table local 指定显示路由表
by XiaoGua
4)、ip route del default 删除默认路由
5)、ip route add default via 192.168.1.1 dev ens33添加默认路由
4、管理策略路由
1)、ip route list 列出当前系统的策略路由规则
by XiaoGua
-
、修改路由表配置文件/etc/iproute2/rt_tables
增加一个新的路由表newroute,其编号为252,在新路由表中增加默认路由
by XiaoGua
3)、增加默认路由
ip route add default via 192.168.0.1 dev ens33 table newroute
image.png
by XiaoGua
三、route命令
1、route与ifconfig命令都在net-tools软件包中,route可以显示和管理路由表
route [options]
常用的选项:
1)-n : 显示数字形式的ip地址
2)-e: 使用netstat格式显示路由
3)-A:指定协议族,可以取inet 以及inet6
4)add:添加路由记录
5)del:删除路由记录
6)gw:默认网关
7)dev:路由记录对应的网络接口
8)netmask:指定目标网络的子网掩码
9)-net:指定目标是一个网络
10)-host:指定目标是一台主机
2、添加一条到达网络224.0.0.0/28的路由
route add -net 224.0.0.0/28 netmask 224.0.0.0 dev docker0
by XiaoGua
3、删除指定的路由记录224.0.0.0
route del -net 224.0.0.0 netmask 224.0.0.0
route -n 查看路由
by XiaoGua
4、增加默认网关
route add default gw 172.17.0.0
route -n
by XiaoGua
5、删除默认网关
route del default gw 172.17.0.0 dev docker0
route -n
by XiaoGua
四、netstat命令
1、netstat(network status) 查看各种网络信息的,包括网络连接、路由表以及网络接口的各种统计数据
netstat [options]
常用的几个选项:
-a :显示所有处于活动状态的套接字
-t :显示TCP/IP协议的连接信息
-l:列出所有处于监听状态的套接字
-n:直接显示ip地址,不转换成域名
-i :列出所有的网络接口
-p:显示使用套接字的进程id和程序名
-r:显示路由表信息
2、netstat -a
显示所有的端口,包含未监听的和监听的
by XiaoGua
3、nestat -at
只显示TCP/IP协议的连接
by XiaoGua
4、netstat -tl
只显示处于监听状态的TCP连接
by XiaoGua
5、netstat -tlanx
显示数字形式的ip地址
by XiaoGua
6、netstat -anp | grep ":80"
排查处于某个端口被占用导致服务器无法启动
7、netstat -i
列出当前系统的所有网络接口
by XiaoGua
8、netstat -r
查看路由表信息
五、nslookup 命令
1、nslookup是用来查询域名信息的,将域名转换成相应的IP地址,或者将IP地址转换成相应的域名。
nslookup 有两种工作模式。交互模式和非交互模式
1)、nslookup 域名
nslookup www.baidu.com
by XiaoGua
黄色框内的是使用的域名服务器
红色框内的是www.baidu.com的别名
默认情况下,nslookup查询的是域名对应的IP 地址
2)、nslookup指定查询其他类型的域名记录
nslookup -type =mx qq.com 8.8.8.8
by XiaoGua
-type=mx :指定类型为邮件服务器
8.8.8.8:指定使用的域名服务器
以上都是非交互模式
3)、nslookup的交互模式
进入交互模式:nslookup
会出现一个>,表示进入交互 模式
在交互模式下,有3个主要命令:set ,server ,lserver
set :设置查询的记录的类型
server 和lserver:用来指定要使用的域名服务器
by XiaoGua
六、ping命令
ping主要用于测试网络的连通状态
如果收到响应,则网络在物理连接上是畅通的
没有响应则是出现物理故障
by XiaoGua
ping [options] destination
-4 :IPv4
-6:IPv6
-c:指定发送的数据包的数量
-i:指定发送数据包发送的时间间隔,默认单位为秒
-I:指定使用的网络接口
ping www.baidu.com 测试到主机www.baidu.com的网络是否连通
by XiaoGua
该命令是向某台主机(www.baidu.com)发送ICMP数据包,并接收响应
Ctrl+C退出ping 命令