目录
引言
一、查看网络配置
1、ifconfig命令查看所有活动的网络接口信息
2、netstat命令
3、ss 命令
二、测试网络连接
1、ping 命令
2、traceroute命令
3、nslookup域名解析
4、dig命令
三、使用网络配置命令
1、ifconfig命令
2、route查看路由表条目
四、修改网络配置文件
1、ifconfig ens33 配置文件
2、 主机名称 hostname配置文件
总结
引言
今天给大家简答介绍在linux中,我们所用到的网络,其实之前我也有和大家分享过相关内容,但是不是特别的全面,今天就给大家说一说在linux中网络服务的设置
一、查看网络配置
1、ifconfig命令查看所有活动的网络接口信息
[root@localhost ~]# ifconfig
#1 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
#2 inet 192.168.149.152 netmask 255.255.255.0 broadcast 192.168.149.255
#3 inet6 fe80::a66b:1645:857c:27b0 prefixlen 64 scopeid 0x20<link>
#4 ether 00:0c:29:6e:3f:c5 txqueuelen 1000 (Ethernet)
#5 RX packets 792624 bytes 1089879885 (1.0 GiB)
#6 RX errors 0 dropped 0 overruns 0 frame 0
#7 TX packets 63306 bytes 17073009 (16.2 MiB)
#8 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
第一行:以太网卡的名字centos6是eth0,centos7是ens33
其中en代表以太网卡,s热插拔插槽上的设备,33是端口号
UP:代表此网络接口为启用状态(down为关闭状态)
RUNNING:代表网卡设备已连接
MULTICAST:表示支持组播
BROADCAST:是广播
第二行:网卡的IP地址、子网掩码、广播地址
第三行:IP v6地址
第四行:Ethernet(以太网)表示连接类型;ether:表示为网卡的MAC地址
第五行:接受数据包个数、大小统计信息
第六行:异常接受包的个数、如丢包量、错误等
第七行:发送数据包个数、大小统计信息
第八行:发送包的个数、如丢包量、错误等
#1 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
#2 inet 127.0.0.1 netmask 255.0.0.0
#3 inet6 ::1 prefixlen 128 scopeid 0x10<host>
#4 loop txqueuelen 1 (Local Loopback)
#5 RX packets 3148 bytes 155010 (151.3 KiB)
#6 RX errors 0 dropped 0 overruns 0 frame 0
#7 TX packets 3148 bytes 155010 (151.3 KiB)
#8 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo 是表示主机的回坏地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。
用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:88:92:22 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)
2、netstat命令
查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具
-n:以数字的形式显示相关的主机地址、端口等信息
-r : 显示路由表信息
-a: 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-l : 显示处于监听(Listenin状态的网络连接及端口信息)
-t : 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u: 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p: 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限 )
用法:①通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息②配合管道符grep过滤出特定的记录
3、ss 命令
主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容,但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢
为什么ss比netstat快
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
选项
-h:--help 通过该选项获取更多的使用帮助
-V:--version 显示软件的版本号
-t:--tcp 显示 TCP 协议的 sockets
-u:--udp 显示 UDP 协议的 sockets
-n:--numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"
-l:--listening 只显示处于监听状态的端口
-p:--processes 显示监听端口的进程
-a: --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称
-o:选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量
二、测试网络连接
1、ping 命令
ping 命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按 Ctrl +C 组合键后中止测试
-c 次数:拼多少次
-i 秒数:间隔多少秒拼一次
-w 秒数:拼多少秒
2、traceroute命令
traceroute 命令能够比 ping 命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比 ping 命令稍慢。
在网络测试与排错过程中,通常会先使用 ping 命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用 traceroute 命令跟踪查看是在哪个中 间结点存在故障。
配置网络参数
两种方式:临时配置和永久配置
临时配置:临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。 这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做 的修改并没有固定地存放在静态的文件中,因此当重启 network 服务或重启主机后 将会失效。
永久配置:通过配置文件来存放固定的各种网络地址,需要重启 network 服务或重 启主机后才会生效。这种方式操作上相对要复杂一些,但相当于“永久配置”,一般 在需要为服务器设置固定的网络地址时使用
3、nslookup域名解析
软件包的名字就可以使用 yum install -y bind-utils
nslookup www.google.com :查看谷歌域名解析
配置文件:/etc/resolv.conf
/etc/resolv.conf 文件中记录了本机默认使用的 DNS 服务器的地址信息,对该文件所做 的修改将会立刻生效。Linux 操作系统中最多可以指定 3 个(第 3 个以后的将被忽略)不同 的 DNS 服务器地址,优先使用第一个 DNS 服务器
4、dig命令
/etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。
若在/etc/hosts 文件中添加“119.75.218.70 www.baidu.com”的映射记录,则当访问网站 www.baidu.com 时,将会直接向 IP 地址 119.75.218.70 发送 Web 请求,省略了向 DNS
Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具,系统默认安装
对于经常访问的一些网站,可以通过在/etc/hosts 文件添加正确的映射记录,减少 DNS 查询过程,从而提高上网速度。当然,若添加了错误的映射记录,则可能导致网站访问出现 异常。另外,因为 hosts 文件只保存在本地,所以其中的映射记录也只适用于当前主机,而无法作用于整个网络。
[root@localhost ~]# dig www.baidu.com #后跟域名直接查询
三、使用网络配置命令
1、ifconfig命令
作用:ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的 IP 地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。
临时配置网卡的ip地址
ifconfig ens33 192.168.149.2 netmask 255.255.255.0
ifconfig ens33 192.168.149.2/24
启用、禁用网络接口配置
禁用网络接口: ifdown ens33
启用网络接口: ifup ens33
重启网络接口:ifdown ens33 && ifup ens33
为网卡绑定虚拟接口
在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的 IP 地址,但是又不能覆盖原有 IP 地址而导致服务程序不可用。
这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的 IP 地址(相当于一块网卡配多个 IP 地址)
ifconfig ens33: 0 192.168.149.20
ifconfig ens33: 1 192.168.149.21
2、route查看路由表条目
Linux 操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息
查看路由表
route 或者 ip route show 或者 ip route #查看路由配置
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.149.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
default表示此行是默认网关记录
gateway表示目标网段是与本机直接相连的(下一跳)
直接执行“route”命令无法直接看出默认网关地址
添加、删除静态路由记录
route del default gw 192.168.149.20 #删除默认网关记录
route add default gw 192.168.149.20 #添加默认网关记录
route add -net 192.168.149.0/24 gw 192.168.14.1
#表示可以通过192.168.14.1到192.168.149.0/24网络
四、修改网络配置文件
1、ifconfig ens33 配置文件
网络接口的配置文件默认位于/etc/sysconfig/network-script/ifcfg-ens33
TYPE=Ethernet #代表以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp #网络协议(dhcp,static,none)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 #网络接口名称
UUID=3191ca24-04da-4103-8199-30ad3bc3fc4c #设备ID
DEVICE=ens33 #设置网络接口的名称
ONBOOT=no #激活网卡
IPADDR=192.168.10.20 #ip
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.10.1 #网关
DNS1=114.114.114.114 #DNS解析
2、 主机名称 hostname配置文件
修改主机名称
hostname 主机名 (临时修改)
hostnamectl set-hostname 主机名
vim /etc/hostname (配置文件修改主机名)
hostname -i :查看主机ip
总结
今天给大家分享的内容其实很简单,查看网络配置和设置网络配置主要是ifconfig,hostname,route,netstat,ss的命令,还有就是测试网络连接的ping,traceroute,nslookup,dig的命令