Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux运维基础技能: 接入层与网络基础

Linux运维基础技能: 接入层与网络基础

作者头像
张戈
发布于 2018-12-19 08:16:08
发布于 2018-12-19 08:16:08
1.6K00
代码可运行
举报
文章被收录于专栏:张戈的专栏张戈的专栏
运行总次数:0
代码可运行

本系列文章一共三篇,分别为《脚本编程与 Linux 命令》、《接入层与网络基础》和《 MySQL 与 SQL 优化》,由腾讯高级工程师 luaruan(阮永顺) 原创、张戈博客整理分享,如有勘误请在博客留言。

希望对需要学习、面试 Linux 运维的同学有所帮助。

MSS 与 MTU 的区别,默认大小各是多少?

  • 标准以太网接口缺省的 MTU(最大传输单元)为 1500 字节,是最大帧 1518 减去源宿的 MAC、FCS 后最大的 IP packet 大小;
  • MTU 减去 20 字节 IP 包头减去 20 字节 TCP 包头 ,即是 MSS,1460 字节
  • 一台交换机要保证接口 MTU 的一致性。如果在一个 VLAN 上、或整个交换机都采用同样的 MTU,避免一些奇怪的问题
  • 参考:https://www.zhihu.com/question/21524257

TIME_WAIT 与 CLOSE_WAIT 的区别

主动关闭连接的一方进入 TIME_WAIT ,若客户端高并发访问 HTTP 接口又没有使用会话或者线程池机制,可能会导致本地端口耗尽。

CLOSE_WAIT 出现在被动断开连接。可能常见在 Server 端,例如在 Netty 的 I/O 线程里做 DB 读写、日志记录这种不可控的阻塞行为,可能会引发客户端超时。

如何查看机器上所有的 tcp 连接?

natstat -ant

netstat -antp 如何统计 time_wait 状态的连接?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
netstat -antp|grep TIME_WAIT|wc -l

IP 包头大小?

20 字节

  • url.cn 是几级域名? -- 二级
  • www.qq.com 是几级域名? -- 三级
  • url.cn 可以 CNAME 到 demo.te.isc.demo-cloud.net 吗?

不建议这么操作,实际上很多场合是不可以这么操作的。

https://serverfault.com/questions/613829/why-cant-a-cname-record-be-used-at-the-apex-aka-root-of-a-domain

递归解析与迭代解析的区别?

先理解 13 组根 DNS 服务器、顶级域 DNS 服务器(各解析.com .net .gov 等)、权威 DNS 服务器、本地 DNS 服务器。

考虑浏览器客户端访问 www.qq.com ,会向小区宽带的本地 DNS 查询域名解析 IP ,而本地 DNS 会向根 DNS、顶级域 DNS、权威 DNS 逐个查询。

从客户端到本地 DNS 的查询是递归的;而其余的查询是迭代的。(参考《自顶向下理解计算机网络》89 页)

x-forwarded-for 与 remote_addr 的区别?

  • X-Forwarded-For: client1, proxy1, proxy2

<proxy1>, <proxy2>如果一个请求经过了多个代理服务器,那么每一个代理服务器的 IP 地址都会被依次记录在内。也就是说,最右端的 IP 地址表示最近通过的代理服务器,而最左端的 IP 地址表示最初发起请求的客户端的 IP 地址。

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Forwarded-For 鉴于伪造这一字段非常容易,应该谨慎使用 X-Forwarded-For 字段。正常情况下 XFF 中最后一个 IP 地址是最后一个代理服务器的 IP 地址

  • remote_addr 是通讯客户端与服务器实际进行 TCP 通信的 IP

IPv4 地址分类 (IPv4 地址 32 位)

A 类 0.0.0.0/8 127.255.255.255 结束

B 类 128.0.0.0/16 191.255.255.255 结束

C 类 192.0.0.0/24

D 类 224.0.0.0~239.255.255.255

192.168.2.47/26 这个子网的开始 IP 和结束 IP 是?

(32-26)=6 , 2^6 = 64 ,故每 64 个 IP 是一个子网,而 47 落在 0-63 这个子网,故 192.168.2.0 是网络号;可用 IP 是 192.168.2.1~192.168.2.62 ;192.168.2.63 是广播 IP 地址。

IPv6 地址的格式与缩写规则,怎么判断哪些是合法的 IPv6 地址?

(IPv4 地址是 32 位)

https://www.ibm.com/support/knowledgecenter/zh/ssw_ibm_i_72/rzai2/rzai2ipv6addrformat.htm

IPv6 地址大小为 128 位 完整写法是 8 段 ,0000:0000:0000:0000:0000:0000:0000:0000 至 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

省略前导零通过省略前导零指定 IPv6 地址。例如,IPv6 地址 1050:0000:0000:0000:0005:0600:300c:326b 可写作 1050:0:0:0:5:600:300c:326b。

双冒号通过使用双冒号(::)替换一系列零来指定 IPv6 地址。例如,IPv6 地址 ff06:0:0:0:0:0:0:c3 可写作 ff06::c3。一个 IP 地址中只可使用一次双冒号。

IPv4 地址如何映射到 IPv6

例如 0:0:0:0:0:ffff:192.1.56.10 和 ::ffff:192.1.56.10/96(短格式)

Ipv6 保留地址 https://zh.wikipedia.org/wiki/%E4%BF%9D%E7%95%99IP%E5%9C%B0%E5%9D%80

LVS 三种工作模式是什么?

NAT,IP tunneling, Direct Route

tcpdump 抓包的几个参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
src host
dst host
-c 包个数
-w xxx.pcap
port 端口
not
portrange 1-1024
-n 不将IP显示为域名
-nn 显示原始端口号和协议

拓展阅读http://packetlife.net/media/library/12/tcpdump.pdf

iptables 实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
三表五链

filter 定义允许或者不允许的,只能做在 3 个链上:INPUT ,FORWARD ,OUTPUT

nat 定义地址转换的,也只能做在 3 个链上:PREROUTING ,OUTPUT ,POSTROUTING

mangle 功能:修改报文原数据,是 5 个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

持久化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak # 任何改动之前先备份
iptables-save > /etc/sysconfig/iptables

拓展阅读https://wangchujiang.com/linux-command/c/iptables.html

iptables 如何设置只允许内网 10.142.31.1 来访问本机的 7001 7002 7003 端口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
iptables -I INPUT -p tcp port 7001:7003 -s 10.142.31.1 -j ACCEPT
iptables -I INPUT -p tcp port 7001:7003 -j DROP
iptables 设置允许 8080 80 443 以及主动出去的,其他拒绝
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
iptables -I INPUT -p tcp --dport 443 -i eth0 -j ACCEPT
iptables -I INPUT -p tcp --dport 8080 -i eth0 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
iptables -I INPUT -i eth0 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -j DROP

常见加密算法

对称 DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES

非对称 RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

nginx 的负载种类

轮询(默认)、权重 weight、IP hash、URL hash

nginx location 匹配:

= 用于标准 uri 前,要求请求字符串与 uri 严格匹配,一旦匹配成功则停止

~ 用于正则 uri 前,并且区分大小写

~* 用于正则 uri 前,但不区分大小写

^~ 用于标准 uri 前,要求 Nginx 找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,(匹配符合以后,停止往下搜索正则,采用这一条)而不再使用 location 块中的正则 uri 和请求

拓展阅读http://seanlook.com/2015/05/17/nginx-location-rewrite/

Nginx 配置文件结构:

拓展阅读https://segmentfault.com/a/1190000015646701

0

分享(http://zhangge.net/javascript:void(0%29)

hitokoto()

(function() { var s = "_" + Math.random().toString(36).slice(2); document.write('<div id="' + s + '"></div>'); (window.slotbydup=window.slotbydup || []).push({ id: '5538464', container: s, size: '836,100', display: 'inlay-fix' });})();

所属分类:操作系统

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年11月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
突破运营商 QoS 封锁,WireGuard 真有“一套”!
❝原文链接🔗:https://icloudnative.io/posts/wireguard-over-tcp-using-phantun/ 或者点击左下角的 阅读原文 直接查看原文👇 👉WireGuard 作为一个更先进、更现代的 VPN 协议,比起传统的 IPSec、OpenVPN 等实现,效率更高,配置更简单,并且已经合并入 Linux 内核,使用起来更加方便,简直就是 VPN 中的战斗机。越来越多的高人利用 WireGuard 实现很多奇奇怪怪的需求。例如国内与国外机器通过 WireGuard
米开朗基杨
2022/11/07
29.9K2
突破运营商 QoS 封锁,WireGuard 真有“一套”!
nginx防止DDOS攻击配置(二)
我们用的高防服务器只防流量攻击不防CC,现在的攻击多数都是混合型的,而且CC攻击很多,防CC只能自己搞了,按照第一篇的配置,在实际的使用中效果并不理想。限制每秒钟的请求数和ip连接数,属于杀敌一千自损八百的做法。是可以防小规模的cc攻击,但是不够灵活,限制严了,误杀率很大;限制少了,当攻击的ip量达到一定规模的时候,传递到后端的请求还是非常多,导致php撑不住挂掉。这里在上一篇的基础上详细介绍一下我在生产中使用的配置。
后端技术探索
2018/08/09
3.5K0
TCP 连接排故:使用 BPF BCC工具包进行网络跟踪
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
山河已无恙
2024/05/29
9600
TCP 连接排故:使用 BPF BCC工具包进行网络跟踪
Linux查看开放端口_linux查看对外端口
想通过防火墙打开8080端口登录tomcat却发现提示 /etc/rc.d/init.d/iptable.找不到文件, 最后发现因为于CentOS7不用iptables执行命令了,所以应用firewall相关命令控制防火墙
全栈程序员站长
2022/10/02
89.6K0
Linux查看开放端口_linux查看对外端口
WireGuard 系列文章(四):WireGuard 快速上手
2.WireGuard 系列文章(二):WireGuard 简介 - 快速、现代、安全的 V** 隧道[2]
东风微鸣
2022/04/22
6.7K0
WireGuard 系列文章(四):WireGuard 快速上手
[译]使用iptables控制网络流量
iptables是一个允许用户配置特定规则的应用程序,这些规则由将由内核netfilter框架强制执行。它充当数据包过滤器和防火墙,可根据端口,协议和其他标准检查和定向流量。本指南将重点介绍iptables规则集的配置和应用,并提供常用方法的示例。
杜逸先
2018/08/30
7.3K0
Linux运维常用知识(3)
参考:http://loveyan.blog.51cto.com/829079/745164
py3study
2020/01/08
27.4K0
linux之网络
由于nio的普及,ck10k的问题已经成为过去式。现在随便一台服务器,就可以支持数十万级别的连接了。那么我们来算一下,100万的连接需要多少资源。
sunsky
2020/08/20
1.7K0
linux之网络
iptables 扩展案例
iptables filter表小案例 : 案例1: 需要把80,21,22端口放行;但是22端口需要指定特殊的IP地址段可以访问,其它的均不可以访问;使用shell脚本来完成! #! /bin/bash ipt="/usr/sbin/iptables" $ipt -F $ipt -P INPUT DROP $ipt -P OUTPUT ACCEPT $ipt -P FORWARD ACCEPT $ipt -A INPUT -m state --state RELATED,ESTABLISHED -j AC
老七Linux
2018/05/09
8850
go-iptables功能与源码详解
介绍iptables之前我们先搬出他的父亲netfilter,netfilter是基于Linux 2.4.x或更新的内核,提供了一系列报文处理的能力(过滤+改包+连接跟踪),具体来讲可以包含以下几个功能:
于顾而言SASE
2024/03/22
4460
go-iptables功能与源码详解
linux下keepalived的安装
4. 启动 service keepalived star |stop| restart
用户1499526
2019/07/15
2.1K0
ettercap 实施中间人攻击
中间人攻击(Man-in-the-MiddleAttack 简称"MITM攻击")中间人攻击很早就成为了黑客常用的一种古老的攻击手段,并且一直到如今还具有极大的扩展空间,在网络安全方面,MITM攻击的使用是很广泛的,曾经猖獗一时的SMB会话劫持、DNS欺骗等技术都是典型的MITM攻击手段.在黑客技术越来越多的运用于以获取经济利益为目标的情况下时,MITM攻击成为对网银、网游、网上交易等最有威胁并且最具破坏性的一种攻击方式.
王 瑞
2022/12/28
7910
Linux学习(2)——防火墙设置
  防火墙分类     (一)、包过滤防火墙。            数据包过滤(packet Filtering)技术是在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,称为访问控制表(access control lable,ACL)。通过检查数据流中每个数据包的源地址和目的地址,所用的端口号和协议状态等因素,或他们的组合来确定是  否允许该数据包通过包过滤防火墙的优点是它对用户来说是透明的,处理速度快且易于维护。缺点是:非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击;数据包的源 地址、目的地址和IP的端口号都在数据包的头部,可以很轻易地伪造。“IP地址欺骗”是黑客针对该类型防火墙比较常用的攻击手段。       (二)、代理服务型防火墙             代理服务(proxy service)也称链路级网关或TCP通道。它是针对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术,其特点是将所有跨跃防火墙的网络通信链路 分为两段。当代理服务器接收到用户对某个站点的访问请求后就会检查请求是否符合控制规则。如果规则允许用户访问该站点,代理服务器就会替用户去那个站点取 回所需的信息,再转发给用户,内外网用户的访问都是通过代理服务器上的“链接”来实现的,从而起到隔离防火墙内外计算机系统的作用。
sunonzj
2022/06/21
2.3K0
防火墙之地址转换SNAT DNAT
1、原理:在路由器后(PSOTROUTING)将内网的ip地址修改为外网网卡的ip地址。
拓荒者
2019/03/15
3.2K0
防火墙之地址转换SNAT DNAT
Linux下 iptables 超详细教程和使用示例
PREROUTING链 – 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。
CPP开发前沿
2021/11/16
7530
Linux安全之iptables详解
基本上,依据防火墙管理的范围,我们可以将防火墙区分为网域型与单一主机型的控管。在单一主机型的控管方面, 主要的防火墙有封包过滤型的 Netfilter 与依据服务软件程序作为分析的 TCP Wrappers(只于服务名称有关) 两种。若以区域型的防火墙而言, 由于此类防火墙都是当作路由器角色,因此防火墙类型主要则有封包过滤的 Netfilter 与利用代理服务器 (proxy server) 进行存取代理的方式了。  防火墙在 做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包
BGBiao
2018/02/26
1.3K0
Linux安全之iptables详解
神技能 | 手把手教您把CentOS7服务器变成上网路由器
网络拓扑图及说明 说明 服务器通过静态IP上网,外网连接eth0口,IP为200.0.0.2;eth1口连接内网交换机,内网网段为192.168.10.1/24。 内网中的所有机器通过NAT上网,也要通过DHCP服务器自动获得IP地址。其中192.168.10.254为一台FTP服务器,需要对外提供FTP服务。 服务器本身不对外提供任何服务,仅对内网提供DHCP服务以及SSH管理。 内网机器使用运营商的DNS。 配置步骤 (系统IP配置方法这里不再赘述) 1. 关闭系统自带的防火墙 停止firewa
小小科
2018/05/03
1.9K0
神技能 | 手把手教您把CentOS7服务器变成上网路由器
系统管理员需知的 16 个 iptables 使用技巧
现代 Linux 内核带有一个叫 Netfilter 的数据包过滤框架。Netfilter 提供了允许、丢弃以及修改等操作来控制进出系统的流量数据包。基于 Netfilter 框架的用户层命令行工具 iptables 提供了强大的防火墙配置功能,允许你添加规则来构建防火墙策略。iptables 丰富复杂的功能以及其巴洛克式命令语法可能让人难以驾驭。我们就来探讨一下其中的一些功能,提供一些系统管理员解决某些问题需要的使用技巧。
用户8639654
2021/10/25
5190
iptables防火墙
最底层是网络接口层,网络接口层上面是网络层,网络层部署了NetFilter(网络过滤框架)
用户10638239
2024/01/30
4470
鸟哥的私房菜学习笔记 -- iptables防火墙设置
以下内容总结自鸟哥的 Linux 私房菜 -- 服务器(第三版),同时推荐喜欢Linux的同学们学习阅读。
老高的技术博客
2022/12/28
6470
鸟哥的私房菜学习笔记 -- iptables防火墙设置
相关推荐
突破运营商 QoS 封锁,WireGuard 真有“一套”!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验