这是一系列基础命令的集合,我会从使用角度介绍,看完这些以后你能够在linux终端下完成大部分之前需要鼠标和键盘才能完成的操作。
今天是第五篇,介绍Linux下基础的网络操作命令。
ubuntu@ubuntu-virtual-machine:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
.NET 192.168.115.138 netmask 255.255.255.0 broadcast 192.168.115.255
inet6 fe80::a1ed:ba47:821f:8b10 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:51:ad:60 txqueuelen 1000 (以太网)
RX packets 8665 bytes 12475254 (12.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1103 bytes 98183 (98.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (本地环回)
RX packets 188 bytes 16340 (16.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 188 bytes 16340 (16.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
主要列举几个我们在工作中可能会用到的操作:
# ifconfig eth0 down #关闭eth0
# ifconfig eth0 up #开启eth0
# ifconfig eth0 down #关闭网卡
# ifconfig eth0 hw ether 00:11:22:33:44:55 #修改eth0网卡MAC地址
# ifconfig eth0 up #启动网卡
# ifconfig eth0 192.168.3.178 #给eth0网卡配置IP地址
# ifconfig eth0 192.168.3.178 netmask 255.255.255.0 #给eth0网卡配置IP地址,并加上子掩码
# ifconfig eth0 192.168.3.178 netmask 255.255.255.0 broadcast 192.168.3.255 #给eth0网卡配置IP地址,加上子掩码,加上个广播地址
如果对网络不熟悉可能不了解什么是ARP,但是这个协议在开发中是经常被用到的,可以先了解一下。
# ifconfig eth0 arp #开启eth0网卡ARP
# ifconfig eth0 -arp #关闭eth0网卡ARP
MTU是包或帧的最大长度,一般单位是字节。如果MTU过大,在碰到路由器时会被拒绝转发,因为它不能处理过大的包。如果太小,因为协议一定要在包(或帧)上加上包头,那实际传送的数据量就会过小,这样也划不来。大部分操作系统会提供给用户一个默认值,该值一般对用户来说是比较合适的。
# ifconfig eth0 mtu 1500 #设置MTU1500 字节
ping命令一般用来测试网络连通状态,但是一定要注意,并不是说没有ping通就表示网络不通,因为网络可以配置ping的功能,但是大多数情况下都有这个服务。
使用非常简单,ping命令紧接着一个IP或者域名地址,需要手动输入CTRL+C结束。
ubuntu@ubuntu-virtual-machine:~$ ping 192.168.3.178
PING 192.168.3.178 (192.168.3.178) 56(84) bytes of data.
64 字节,来自 192.168.3.178: icmp_seq=1 ttl=128 时间=4.90 毫秒
64 字节,来自 192.168.3.178: icmp_seq=2 ttl=128 时间=5.08 毫秒
64 字节,来自 192.168.3.178: icmp_seq=3 ttl=128 时间=5.26 毫秒
^C
--- 192.168.3.178 ping 统计 ---
已发送 3 个包, 已接收 3 个包, 0% 包丢失, 耗时 2002 毫秒
rtt min/avg/max/mdev = 4.904/5.081/5.260/0.145 ms
ubuntu@ubuntu-virtual-machine:~$ ping www.bAIdu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 时间=34.2 毫秒
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 时间=33.5 毫秒
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=128 时间=33.8 毫秒
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=4 ttl=128 时间=36.1 毫秒
^C
--- www.a.shifen.com ping 统计 ---
已发送 4 个包, 已接收 4 个包, 0% 包丢失, 耗时 3007 毫秒
rtt min/avg/max/mdev = 33.524/34.393/36.068/0.992 ms
介绍几个常用的参数:
-c 指定ping的包数。
ubuntu@ubuntu-virtual-machine:~$ ping -c 5 www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 时间=34.8 毫秒
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 时间=35.4 毫秒
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=128 时间=36.8 毫秒
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=4 ttl=128 时间=34.7 毫秒
64 字节,来自 14.215.177.39 (14.215.177.39): icmp_seq=5 ttl=128 时间=36.4 毫秒
--- www.a.shifen.com ping 统计 ---
已发送 5 个包, 已接收 5 个包, 0% 包丢失, 耗时 4010 毫秒
rtt min/avg/max/mdev = 34.677/35.613/36.782/0.843 ms
Ubuntu我们使用ufw命令来配置防火墙。
如果你的设备上没有ufw命令,可运行apt安装。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw status
[sudo] ubuntu 的密码:
状态:不活动
状态:不活动表示我没有打开防火墙。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw disable
防火墙在系统启动时自动禁用
ubuntu@ubuntu-virtual-machine:~$ sudo ufw enable
此命令可能会中断目前的 ssh 连接。要继续吗 (y|n)? y
在系统启动时启用和激活防火墙
打开端口访问。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow 53 #允许外部访问53端口(tcp/udp)
规则已添加
规则已添加 (v6)
打开IP访问。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow from 192.168.3.178 #允许192.168.3.178访问所有的本机端口
规则已添加
指定网段访问特定端口。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow proto tcp from 192.168.3.0/24 to any port 22
# 允许所有192.168.3.*的IP访问服务器的ssh服务
规则已添加
删除防火墙规则。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw delete allow 53 # 删除对端口53的开放规则
规则已删除
规则已删除 (v6)
至此,Linux终端使用的基础命令介绍结束。
对于命令的使用完全是熟能生巧的过程,多使用就能发现命令行的便捷和效率。
后面开始开发类知识介绍。