命令格式:ifconfig 或 ifconfig +网卡名
ifconfig [DEVICE] ##查看网络信息
第一部分的第一行显示网卡状态信息。
eth0表示第一块网卡。
UP代表网卡开启状态。
RUNNING代表网卡的网线被接上。
MULTICAST表示支持组播。
第二行显示网卡的网络信息。
inet(IP地址)
broadcast(广播地址)
netmask(掩码地址)
RX表示接收数据包的情况,TX表示发送数据包的情况。
lo表示主机的回环网卡,是一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现。与回环地址(127.0.0.0/8 或 ::1/128)不同,回环网卡对系统显示为一块硬件。任何发送到该网卡上的数据都将立刻被同一网卡接收到。
在Linux主机中,手工修改网络配置有两种最基本的方法:
1 临时配置:使用命令调整网络参数
(1)简单、快速,可直接修改运行中的网络参数
(2)一般只适合在调试网络的过程中使用
(3) 系统重启以后,所做的修改将会失效
2 固定设置:通过配置文件修改网络参数
(1) 修改各项网络参数的配置文件
(2)适合对服务器设置固定参数时使用
(3) 需要重载网络服务或者重启以后才会生效
(4) 相对而言复杂一点,但相当于“永久配置”
ifconfig DEVICE IP netmask NETMASK ##设置ip地址 ifconfig eth0 192.168.168.1/24
ifconfig 网络接口 up ifconfig 网络接口 down
在对服务器进行调试的过程中,有时需临时在同一个网卡上使用一个新的IP地址,但又不能覆盖原有IP地址而导致服务程序不可用
相当于在一个网卡上配置多个IP地址
格式(示例): ifconfig 网络接口:序号 IP地址
ifconfig ens33:1 11.11.11.11
网络接口的配置文件默认位于目录“/etc/sysconfig/network-scripts/”中,文件名格式为“ifcfg-XXX”,其中“XXX”是网络接口的名称
“ifcfg-ens33”:是第一块以太网卡的配置文件
重启network网络服务
systemctl restart network
Ubuntu系统进行网络配置
/etc/network/interfaces
操纵步骤:
打开ubuntu的/etc/network/interfaces文件默认的内容如下:
auto lo iface lo inet loopback #动态获取的配置方法: auto eth0 iface eth0 inet dhcp #静态分配的配置方法: auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.1
ip 是个命令, ip 命令的功能很多!基本上它整合了 ifconfig 与 route 这两个命令,不过 ip 的功能更强大。属于iproute2包的一个命令,功能很强大。
-V:显示指令版本信息; -s:-stats, -statistics输出更详细的信息;可以使用多个-s来显示更多的信息 -f:-family {inet, inet6, link} 强制使用指定的协议族; -4:-family inet的简写,指定使用的网络层协议是IPv4协议; -6:-family inet6的简写,指定使用的网络层协议是IPv6协议; -0:shortcut for -family link. -o:-oneline,输出信息每条记录输出一行,即使内容较多也不换行显示; -r:-resolve,显示主机时,不使用IP地址,而使用主机的域名。
link :网卡信息 address:IP地址信息 neighbour:邻居表 route:路由表 rule:IP策略 maddress:多播地址 mourte:组播路由缓存条目 tunnel:IP隧道
查看网络接口信息:
ip addr show :显示所有网络接口的IP地址和相关信息。 ip link show :显示所有网络接口的状态信息。
配置网络接口:
ip addr add [ip/mask] dev [interface] :为指定网络接口添加IP地址 ip addr change [ip/mask] dev [interface] :为指定网络接口修改IP地址 ip addr del [ip/mask] dev [interface] :从指定网络接口删除IP地址 ip link set dev [interface] up/down :启用或禁用指定的网络接口
ip link set设备接口属性
如果要查看主机名可以直接执行如下命令:
hostname
命令的语法如下:
hostname [选项] [参数]
该命令支持的选项有:
选项 | 说明 |
---|---|
-a | 显示主机别名 |
-d | 显示DNS域名 |
-f | 显示FQDN名称 |
-i | 显示主机的ip地址 |
-s | 显示短主机名称,在第一个点处截断 |
-y | 显示NIS域名 |
所谓的临时修改主机名,就是当前系统有效,重启系统后失效变回原主机名。命令格式如下:
# 语法 hostname 新主机名 # 示例,修改新主机名为 centos-7 hostname centos-7
命令修改:
systemctl set-hostname 主机名
文件修改:
如果是 CentOS 7 及以上(包括 7)的版本,则需要修改 /etc/hostname 文件。直接填入新主机名即可。
route [-nee]
-n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
-ee :使用更详细的资讯来显示
route命令输出的路由表字段含义如下:
Destination 目标网络或目标主机(本机的数据要发送的目的地:子网或主机),与Genmask组成一个网段。
Gateway 网关(如果是默认网关,网关的地址必须和自己的主机上的其中一块网卡在同一子网)即网关地址。如果没有就显示星号。
Genmask 网络掩码,如果目标网络的的子网掩码为255.255.255.255,说明目标是一台主机;如果子网掩码为’0.0.0.0’ 说明该路由是默认路由。
Flags(旗标)
代表的意义如下:
U (route is up):该路由是启动的;
H (target is a host):目标是一部主机 (IP) 而非网段;
G (use gateway):需要透过外部的主机 (gateway) 来转递封包(该行有gw);
R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;
D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由
M (modified from routing daemon or redirect):路由已经被修改;
! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)
A (installed by addrconf)
C (cache entry)
Metric 距离、跳数。暂无用。与目标的“距离”(通常以跳数计算)。它不被最近的内核使用,但可能需要路由守护进程。
**Ref ** 不用管,恒为0, 对这条路线的引用次数(Linux内核已不再使用)。
Use 该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。 路线查询次数。根据-F和-C的使用,这将是路由高速缓存丢失(-F)或命中(-C)。
Iface 接口,即eth0,eth1等网络接口名,为此路由发送数据包的接口。
route add [-net|-host] [网域或主机] netmask [mask] [gw|dev] route del [-net|-host] [网域或主机] netmask [mask] [gw|dev] 参数: -net :表示后面接的路由为一个网域(网段)的路由; -host :表示后面接的为连接到单部主机的路由; netmask :掩码,决定了网域的大小(配合-net使用,构成一个网段); gw :gateway 的简写,后续接的是 IP (必须和本机的其中一块网卡处于同一网段),与 dev 不同; dev :如果只是要指定由哪一块网卡连线出去,则使用这个设定,后面接 eth0了,eth1 等
格式: route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
在同一个主机的路由表中只有一条默认网关记录,若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障。
添加删除默认网关记录时,与添加、删除静态路由记录的命令格式类型,但制定目标网段时,只需简单地使用“ default ”表示即可。
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
①通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信
息
②配合管道符grep过滤出特定的记录
netstat -t | wc -l统计系统中的TCP连接数
netstat -tln查看系统中的TCP连接监听地址与端口信息
netstat -tlnp查看系统中的TCP连接监听地址、端口以及进程等信息
netstat -tn | grep -v ESTABLISHED查看系统中的非正常连接
ss (选项)
-h, --help 帮助信息 -V, --version 程序版本信息 -n, --numeric 不解析服务名称 -r, --resolve 解析主机名 -a, --all 显示所有套接字(sockets) -l, --listening 显示监听状态的套接字(sockets) -o, --options 显示计时器信息 -e, --extended 显示详细的套接字(sockets)信息 -m, --memory 显示套接字(socket)的内存使用情况 -p, --processes 显示使用套接字(socket)的进程 -i, --info 显示 TCP内部信息 -s, --summary 显示套接字(socket)使用概况 -4, --ipv4 仅显示IPv4的套接字(sockets) -6, --ipv6 仅显示IPv6的套接字(sockets) -0, --packet 显示 PACKET 套接字(socket) -t, --tcp 仅显示 TCP套接字(sockets) -u, --udp 仅显示 UCP套接字(sockets) -d, --dccp 仅显示 DCCP套接字(sockets) -w, --raw 仅显示 RAW套接字(sockets) -x, --unix 仅显示 Unix套接字(sockets) -f, --family=FAMILY 显示 FAMILY类型的套接字(sockets),FAMILY可选,支持 unix, inet, inet6, link, netlink -A, --query=QUERY, --socket=QUERY QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY] -D, --diag=FILE 将原始TCP套接字(sockets)信息转储到文件 -F, --filter=FILE 从文件中都去过滤器信息 FILTER := [ state TCP-STATE ] [ EXPRESSION ]
linux下的ping和windows下的ping稍有区别,linux下ping不会自动终止,需要按ctrl+c终止或者用参数-c指定要求完成的回应次数。
1.命令格式:
ping [参数] [主机名或IP地址]
2.命令功能:
ping命令用于:确定网络和各外部主机的状态;跟踪和隔离硬件和软件问题;测试、评估和管理网络。如果主机正在运行并连在网上,它就对回送信号进行响应。每个回送信号请求包含一个网际协议(IP)和 ICMP 头,后面紧跟一个 tim 结构,以及来填写这个信息包的足够的字节。缺省情况是连续发送回送信号请求直到接收到中断信号(Ctrl-C)。
ping 命令每秒发送一个数据报并且为每个接收到的响应打印一行输出。ping 命令计算信号往返时间和(信息)包丢失情况的统计信息,并且在完成之后显示一个简要总结。ping 命令在程序超时或当接收到 SIGINT 信号时结束。Host 参数或者是一个有效的主机名或者是因特网地址。
3.命令参数:
-d 使用Socket的SO_DEBUG功能。
-f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。
-n 只输出数值。
-q 不显示任何传送封包的信息,只显示最后的结果。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。
-R 记录路由过程。
-v 详细显示指令的执行过程。
-c 数目:在发送指定数目的包后停止。
-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-I 网络界面:使用指定的网络界面送出数据包。
-l 前置载入:设置在送出要求信息之前,先行发出的数据包。
-p 范本样式:设置填满数据包的范本样式。
-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
-t 存活数值:设置存活数值TTL的大小。
tcpping [-d] [-c] [-C] [-w sec] [-q num] [-x count] ipaddress [port] -d 在每个响应时间前,打印时间戳 -c 以列表形式显示 -C 输出类似于fping工具中-C选项的结果 -w 等待时间(默认 3) -r 每N秒重试一次(默认 1) -x 限定测试总时长 (默认 无限) 实例:测试服务器到大陆TCP是否畅通 在这里,我们要用到百度官网的IP:119.75.217.109 以及他的TCP端口:80 tcping 119.75.217.109 80
命令格式
traceroute [参数] [主机]
命令参数:
-d 使⽤Socket层级的排错功能。 -f 设置第⼀个检测数据包的存活数值TTL的大小。 -F 设置勿离断位。 -g 设置来源路由网关,最多可设置8个。 -i 使⽤指定的⽹络界面送出数据包。 -I 使用ICMP回应取代UDP资料信息。 -m 设置检测数据包的最大存活数值TTL的大小。 -n 直接使⽤IP地址而非主机名称。 -p 设置UDP传输协议的通信端⼝。 -r 忽略普通的Routing Table,直接将数据包送到远端主机上。 -s 设置本地主机送出数据包的IP地址。 -t 设置检测数据包的TOS数值。 -v 详细显表示指令的执行过程。 -w 设置等待远端主机回报的时间。 -x 开启或关实例
例子4.1 : traceroute www.internationalsaimoe.com 结果:
说明:
记录按序列号从1开始,每个纪录就是⼀跳 ,每跳表示一个⽹关,看到每行有三个时间,单位是ms,其实就是-q的默认参数。探测数据包向每个⽹关发送三个数据包后,网关响应后返回的时间;如果用 traceroute -q 4 www.58.com ,表示向每个⽹关发送4个数据包。闭数据包的正确性检验。
DNS英文全称Domain Name System,它是域名系统,在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,及正向解析与反向解析:
① 正向解析:将指定的域名解析为相应的IP地址
② 反向解析:将指定的IP地址解析为相对应的域名。
yum install -y bind-utils
nslookup 的查询在不指定参数的情况下,默认查询的类型为A。
nslookup internationalsaimoe.com
配置文件:/etc/resolv.conf
①/etc/resolv.conf 文件记录了本机默认使用的DNS服务器的地址信息,对于该文件所做的修改将会立刻
生效。
②Linux系统中最多可以指定3个不同的DNS服务器(超过3个的会被忽略),有限使用第一个DNS服务
器。
③resolv.cong文件中的“searh localdomain”行用来设置默认的搜索域(域名后缀),例如:当访问主机
“localhost”时,就相当于访问“localhost.localdomain ”。
保存主机名与ip地址的映射记录
映射文件路径:/etc/hosts
编辑文件vim /etc/hosts,在文件末尾添加映射关系,比如:192.168.171.72 dsports-asp
hosts文件和DNS服务器比较
①默认情况下,系统首先从hosts文件查找解析记录
②hosts文件只对当前主机有效
③hosts文件可减少DNS查询过程,从加快访问速度