Linux网络配置(超详细)

划过手的泪滴t 2024-06-11 14:05:03 阅读 83

Linux网络配置大全

Linux网络配置一.网络地址配置网络地址查看–ifconfig使用网络配置命令设置网络接口参数-ifconfig禁用(临时)或者重新激活网卡设置虚拟网络接口 修改网络配置文件网络接口配置文件 IP命令详解OPTIONS选项OBJECT对象 ip link 二、获取和修改主机名hostname查看主机名临时修改主机名永久修改主机名 三、Route命令观察路由表信息输出详解添加路由删除路由添加、删除默认网关记录 四、netstat命令命令介绍命令选项 五、获取socket统计信息-ss语法选项 六、测试网络连接pingtcppingtraceroute命令(路由跟踪) 七、域名解析-nslookup主服务器配置文件 八、本地主机映射配置映射关系


Linux网络配置

一.网络地址配置

网络地址查看–ifconfig

命令格式: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

ifconfig DEVICE IP netmask NETMASK ##设置ip地址ifconfig eth0 192.168.168.1/24

禁用(临时)或者重新激活网卡

ifconfig 网络接口 upifconfig 网络接口 down

设置虚拟网络接口

在对服务器进行调试的过程中,有时需临时在同一个网卡上使用一个新的IP地址,但又不能覆盖原有IP地址而导致服务程序不可用

相当于在一个网卡上配置多个IP地址

格式(示例): ifconfig 网络接口:序号 IP地址

ifconfig ens33:1 11.11.11.11

修改网络配置文件

网络接口配置文件

网络接口的配置文件默认位于目录“/etc/sysconfig/network-scripts/”中,文件名格式为“ifcfg-XXX”,其中“XXX”是网络接口的名称

“ifcfg-ens33”:是第一块以太网卡的配置文件

在这里插入图片描述

TYPE:设置网卡类型,以上表示为以太网ONBOOT:设置网络接口是否在Linux系统启动时自动激活NETMASK:设置网络接口的子网掩码GATEMASK:设置网络接口的默认网关地址DNS:设置DNS服务器的IP地址

重启network网络服务

systemctl restart network

Ubuntu系统进行网络配置

/etc/network/interfaces

操纵步骤:

打开ubuntu的/etc/network/interfaces文件默认的内容如下:

auto loiface lo inet loopback#动态获取的配置方法:auto eth0iface eth0 inet dhcp#静态分配的配置方法:auto eth0iface eth0 inet staticaddress 192.168.0.1netmask 255.255.255.0gateway 192.168.0.1

IP命令详解

ip 是个命令, ip 命令的功能很多!基本上它整合了 ifconfig 与 route 这两个命令,不过 ip 的功能更强大。属于iproute2包的一个命令,功能很强大。

OPTIONS选项

-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地址,而使用主机的域名。

OBJECT对象

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

ip link set设备接口属性 ip link set dev eth0 promisc on 开启混杂模式ip link set eth0 up 启用网卡ip link set eth0 mtu 1500 设置MTU值,即设置最大传输单元ip link set eth0 name vbird 设置网卡名,需要在网卡down的时候进行设置,意义不是很大ip link set eth0 address aa:aa:aa:aa:aa:aa 设置MAC地址

二、获取和修改主机名hostname

查看主机名

如果要查看主机名可以直接执行如下命令:

hostname

命令的语法如下:

hostname [选项] [参数]

该命令支持的选项有:

选项 说明
-a 显示主机别名
-d 显示DNS域名
-f 显示FQDN名称
-i 显示主机的ip地址
-s 显示短主机名称,在第一个点处截断
-y 显示NIS域名

临时修改主机名

所谓的临时修改主机名,就是当前系统有效,重启系统后失效变回原主机名。命令格式如下:

# 语法hostname 新主机名# 示例,修改新主机名为 centos-7hostname centos-7

在这里插入图片描述

永久修改主机名

命令修改:

systemctl set-hostname 主机名

文件修改:

如果是 CentOS 7 及以上(包括 7)的版本,则需要修改 /etc/hostname 文件。直接填入新主机名即可。

三、Route命令

观察路由表信息

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 ”表示即可。

添加默认网关 route add default gw xxx.xx.x.xxx删除默认网关 route del default gw xxx.xxx.x.xxx

四、netstat命令

命令介绍

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

命令选项

-a:查看所有连接-c:持续列出网络状态-e:显示网络其他相关信息-g:显示多重广播功能群组组员名单。-i:显示网络界面信息表单-l:显示监控中的服务器的SOCKET-n:直接打印连接的IP地址与端口信息-p:显示正在使用SOCKET的程序识别码和程序名称-r:显示路由信息-s:显示网络工作信息统计表-t:显示TCP传输协议的连线状况-u:显示UDP传输协议的连线状况-v:显示指令执行过程-w:显示RAW传输协议的连线状况-F:显示FIB-C:显示路由器配置的快取信息-A:列出该网络类型连线中的相关地址-N:显示网络硬件外围设备的符号连接名称-M:显示伪装的网络连线

①通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信

②配合管道符grep过滤出特定的记录

netstat -t | wc -l统计系统中的TCP连接数

netstat -tln查看系统中的TCP连接监听地址与端口信息

netstat -tlnp查看系统中的TCP连接监听地址、端口以及进程等信息

netstat -tn | grep -v ESTABLISHED查看系统中的非正常连接

五、获取socket统计信息-ss

语法

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 ]

六、测试网络连接

ping

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

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端口:80tcping 119.75.217.109 80

traceroute命令(路由跟踪)

命令格式

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个数据包。闭数据包的正确性检验。

七、域名解析-nslookup

DNS英文全称Domain Name System,它是域名系统,在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,及正向解析与反向解析:

① 正向解析:将指定的域名解析为相应的IP地址

② 反向解析:将指定的IP地址解析为相对应的域名。

yum install -y bind-utils

nslookup 的查询在不指定参数的情况下,默认查询的类型为A。

nslookup internationalsaimoe.com

在这里插入图片描述

最上面的 Server 和 Address 是该词查询的 DNS 服务器。可以自己指定,也可以默认,之后会说到。

主服务器配置文件

配置文件:/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查询过程,从加快访问速度

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。