前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux运维基础技能: 接入层与网络基础

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

作者头像
张戈
发布2018-12-19 16:16:08
1.5K0
发布2018-12-19 16:16:08
举报
文章被收录于专栏:张戈的专栏张戈的专栏

本系列文章一共三篇,分别为《脚本编程与 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
复制
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
复制
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
复制
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
复制
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
复制
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
复制
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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MSS 与 MTU 的区别,默认大小各是多少?
  • TIME_WAIT 与 CLOSE_WAIT 的区别
  • 如何查看机器上所有的 tcp 连接?
  • netstat -antp 如何统计 time_wait 状态的连接?
  • IP 包头大小?
  • 递归解析与迭代解析的区别?
  • x-forwarded-for 与 remote_addr 的区别?
  • IPv4 地址分类 (IPv4 地址 32 位)
  • 192.168.2.47/26 这个子网的开始 IP 和结束 IP 是?
  • IPv6 地址的格式与缩写规则,怎么判断哪些是合法的 IPv6 地址?
  • IPv4 地址如何映射到 IPv6
  • LVS 三种工作模式是什么?
  • tcpdump 抓包的几个参数
  • iptables 实例
    • 三表五链
      • iptables 如何设置只允许内网 10.142.31.1 来访问本机的 7001 7002 7003 端口
        • iptables 设置允许 8080 80 443 以及主动出去的,其他拒绝
        • 常见加密算法
        • nginx 的负载种类
        • nginx location 匹配:
        相关产品与服务
        云数据库 SQL Server
        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档