文章目录
linux网络设置与基础服务
前言
查看及测试网络是管理linux网络服务的第一步
查看网络配置
使用ifconfig命令查看网络接口地址
[root@localhost ~]# yum install net-tools 安装ifconfig命令
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 第一块以太网名称
inet 192.168.136.206 netmask 255.255.255.0 broadcast 192.168.136.255
inet6 fe80::7b77:7163:2178:608c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:81:bd:e1 txqueuelen 1000 (Ethernet)
RX packets 2128 bytes 180947 (176.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1756 bytes 167874 (163.9 KiB)
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 (Local Loopback)
RX packets 72 bytes 6272 (6.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 72 bytes 6272 (6.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
inet 192.168.136.206 Ip地址
netmask 255.255.255.0 子网掩码
broadcast 192.168.136.255 广播地址
ether 00:0c:29:81:bd:e1 mac地址
IP地址默认为 “127.0.0.1”,回环地址通常仅用于对本机的网络测试’
[root@localhost ~]# ifconfig -a 查看所有的网络接口
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.136.206 netmask 255.255.255.0 broadcast 192.168.136.255
inet6 fe80::7b77:7163:2178:608c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:81:bd:e1 txqueuelen 1000 (Ethernet)
RX packets 2156 bytes 183247 (178.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1781 bytes 171244 (167.2 KiB)
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 (Local Loopback)
RX packets 72 bytes 6272 (6.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 72 bytes 6272 (6.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看指定网络接口信息
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.136.206 netmask 255.255.255.0 broadcast 192.168.136.255
inet6 fe80::7b77:7163:2178:608c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:81:bd:e1 txqueuelen 1000 (Ethernet)
RX packets 2220 bytes 187995 (183.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1824 bytes 175952 (171.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
inet 192.168.136.206 Ip地址
netmask 255.255.255.0 子网掩码
broadcast 192.168.136.255广播地址
inet6 fe80::7b77:7163:2178:608c mac地址
使用 hostname命令查看当前主机名称
[root@localhost ~]# hostname
192.168.136.206
永久修改当前主机名
[root@localhost ~]# hostnamectl set-hostname zhang
[root@localhost ~]# hostname
zhang
使用route命令查看路由表条目
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.136.1 0.0.0.0 UG 100 0 0 ens33
192.168.136.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.136.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
Destination列对应目标网段的地址’
‘Gateway列对应下一跳路由器地址’
‘Genmask列对应子网掩码’
‘Iface列对应发送数据的网络接口’
‘目标网段为default时,表示此行时默认网关记录’
使用netstat命令查看网络连接情况
常用选项
-a:显示当前主机中所有活动的网络连接信息(包括监听,非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址
-p:显示与网络连接相关联的进程号,进程名称信息('该选项需要root权限')
-t:查看TCP协议相关信息
-u:显示UDP协议相关的信息
-r:显示路由信息
-l:显示处于监听状态
通常使用“-ntap”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。
[root@localhost ~]# netstat -ntap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 9243/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 9519/master
tcp 0 0 192.168.136.190:22 192.168.136.2:62516 ESTABLISHED 10622/sshd: root@pt
tcp 0 0 192.168.136.190:22 192.168.136.2:49360 ESTABLISHED 10962/sshd: root@pt
tcp6 0 0 :::22 :::* LISTEN 9243/sshd
tcp6 0 0 ::1:25 :::* LISTEN 9519/master
结合grep命令和管道符号可以过滤22端口
[root@localhost ~]# netstat -ntap | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 9243/sshd
tcp 0 0 192.168.136.190:22 192.168.136.2:62516 ESTABLISHED 10622/sshd: root@pt
tcp 0 36 192.168.136.190:22 192.168.136.2:49360 ESTABLISHED 10962/sshd: root@pt
tcp6 0 0 :::22 :::* LISTEN 9243/sshd
ss 获取socket统计信息
查看系统的网络连接情况,获取socket统计信息
ss [选项]
1
常用选项:
-t:TCP协议
-u:UDP协议
-n:显示端口号
-l:监听状态
-p:显示PID进程号
-a:所有信息
-r:显示名称,默认不填写该选项
【注意】:ss 与 netstat区别是什么?
netstat命令使用与连接数不超过1万的场合
ss命令适用于高并发连接的场合
测试网络连接
使用ping命令测试网络连通性
[root@localhost ~]# ping 192.168.136.1
PING 192.168.136.1 (192.168.136.1) 56(84) bytes of data.
64 bytes from 192.168.136.1: icmp_seq=1 ttl=128 time=0.298 ms
64 bytes from 192.168.136.1: icmp_seq=2 ttl=128 time=0.321 ms
64 bytes from 192.168.136.1: icmp_seq=3 ttl=128 time=0.349 ms
64 bytes from 192.168.136.1: icmp_seq=4 ttl=128 time=0.252 ms
64 bytes from 192.168.136.1: icmp_seq=5 ttl=128 time=0.770 ms
使用traceroute命令跟踪数据包的路由途径
测试从当前主机到目标主机之间经过的网络节点
对于无法响应的节点,连接状态将显示为*
traceroute命令比ping命令更准确的定位网络连接的故障点(中断点),执行速度也因此比ping命令慢
使用nslookup命令测试DNS域名解析
测试DNS域名解析,将域名解析为IP地址
[root@localhost ~]# nslookup www.baidu.com
Server: 192.168.136.1
Address: 192.168.136.1#53
以下为DNS解析的反馈结果
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 112.80.248.75
Name: www.a.shifen.com
Address: 112.80.248.76
域名解析 nslookup
nslookup命令(nameserver)
测试DNS域名解析
nslookup 目标主机地址 [DNS服务器地址]
示例:
[root@localhost ~]# nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
www.a.shifen.com canonical name = www.wshifen.com.
Name: www.wshifen.com
Address: 104.193.88.123 'DNS服务器地址'
Name: www.wshifen.com
Address: 104.193.88.77 '解析的IP地址'
使用ifconfig命令修改网卡地址,状态
ifconfig命令很强大不仅可以查看网卡配置,修改网卡IP地址,子网掩码,绑定网卡接口,激活或停止网络接口
ifconfig网络接口名称 ip地址【netmake 子网掩码】
ifconfig网络接口名称 ip地址【/子网掩码长度】
[root@localhost ~]# ifconfig ens33 192.168.136.210/24
[root@localhost ~]# ifconfig ens33 192.168.136.210 netmask 255.255.255.0
禁用或者重新激活网卡
ifconfig 网络接口 up
ifconfig 网络接口 down
为网卡绑定虚拟接口
在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能够覆盖掉原本的IP地址而导致服务程序不可用。
ifconfig 网络接口:序号 IP地址
[root@localhost ~]# ifconfig ens33:1 140.140.140.140
ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 140.140.140.140 netmask 255.255.0.0 broadcast 140.140.255.255
ether 00:0c:29:0f:7d:45 txqueuelen 1000 (Ethernet)
使用route命令设置路由记录
使用route命令不仅可以用于查看路由表信息,还可以用来添加,删除静态的路由表条目
添加路由段
route add -net 网段地址 gw IP地址
[root@192 ~]# route add -net 192.168.40.0/24 gw 192.168.136.10 '添加静态路由,本机访问另一个网段192.168.30.0/24的数据都发给192.168.136.10'
[root@192 ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.136.30 0.0.0.0 UG 0 0 0 ens33
default 192.168.136.1 0.0.0.0 UG 100 0 0 ens33
140.140.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ens33
140.140.0.0 0.0.0.0 255.255.0.0 U 100 0 0 ens33
192.168.40.0 192.168.136.10 255.255.255.0 UG 0 0 0 ens33
192.168.136.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
删除路由段
route del -net 网段地址
[root@localhost ~]# route del -net 192.168.400.0/24 '删除静态路由'
[root@192 ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.136.1 0.0.0.0 UG 100 0 0 ens33
140.140.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ens33
192.168.136.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
向路由表中添加默认网关记录
route add default gw IP地址
[root@localhost ~]# route add default gw 192.168.10.70 '添加到192.168.10.0的默认网关记录'
[root@192 ~]# route add default gw 192.168.136.30
[root@192 ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.136.30 0.0.0.0 UG 0 0 0 ens33
default 192.168.136.1 0.0.0.0 UG 100 0 0 ens33
向路由表中删除默认网关记录
route del default gw IP地址
[root@localhost ~]# route del default gw 192.168.136.70 '删除到192.168.10.30的默认网关记录'
[root@192 ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.136.1 0.0.0.0 UG 100 0 0 ens33
140.140.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ens33
140.140.0.0 0.0.0.0 255.255.0.0 U 100 0 0 ens33
修改网络配置文件
/etc/sysconfig/network-scripts/目录下
回环接口lo的配置文件是“ifcfg-lo”
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
..省略部分内容
BOOTPROTO="dhcp" 设置网络接口的配置方式,值为 static 表示使用静态指定的IP地址,值为 dhcp 表示 通过dhcp的方式动态获取地址
DEVICE="ens33" 设置网络接口的名称
ONBOOT="yes" 设置网络接口是否在Linux系统启动时激活
IPADDR="192.168.136.20" 设置网络接口的IP地址
NETMASK="255.255.255.0" 设置网络接口的子网掩码
GATEWAY="192.168.158.1" 设置网络接口的默认网关地址
域名解析配置文件
/etc/resolv.conf文件,保存本机需要使用的DNS服务器的IP地址
[root@192 ~]# vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.136.1
本地主机映射文件
/etc/hosts文件;保存主机名与IP地址的映射记录,一般保存经常需要访问的主机信息,访问先查映射在查DNS
[root@192 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6