端口转发

firewalld防火墙

白昼怎懂夜的黑 提交于 2019-11-30 12:20:03
firewalld防火墙 firewalld简述 firewalld:防火墙,其实就是一个隔离工具:工作于主机或者网络的边缘 对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配检测, 对于能够被规则所匹配的报文做出相应处理的组件(这个组件可以是硬件,也可以是软件): 主机防火墙 网络防火墙 功能(也叫表) filter:过滤,防火墙 nat:network address translation,网络地址转换 mangle:拆分报文,做出修改,在封装起来 raw:关闭nat表上启用的连接追踪功能 链(内置): PREROUTING INPUT FORWARD OUTPUT POSTROUTING 数据报文的流向 流入:PREROUTING --> INPUT 流出:OUTPUT --> POSTROUTING 转发:PREROUTING --> FORWARD --> POSTROUTING 各功能可以在哪些链上实现 filter: INPUT,FORWARD,OUTPUT nat:PREROUTING(DNAT),OUTPUT,INPUT,POSTROUTING(SNAT) mangle: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING raw:PREROUTING,OUTPUT 路由发生的时刻(PREROUTING

运维面试笔试题

瘦欲@ 提交于 2019-11-30 12:00:08
一.基础面试 (一).linux面试题 1.写一个脚本查找最后创建时间是三天前,后缀是*.log的文件并删除 find . -ctime +3 -name ‘*.log’|rm -rf 2.统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位的ip cat access.log|awk’{print$1}’|uniq -c|sort -rn|head -10 3.使用tcpdump监听主机为192.168.1.1,tcp端口为80的数据,同时将输出结果保存输出到tcpdump.log。 tcpdump ‘host 192.168.1.1 and port 80’ > tcpdump.log tcpdump -w test host 192.168.1.1 and tcp port 22 > tcpdump.log 4.查出哪个IP地址连接最多 netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort - netstat -na|grep SYN|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r 5.对服务器各种状态下的连接数分组并查询得到结 netstat -n|awk ‘/^tcp/{

socket、端口、进程的关系

烂漫一生 提交于 2019-11-30 10:55:41
本文属网络编程部分。 socket的引入是为了解决不同计算机间进程间通信的问题。 端口是TCP/IP协议中的概念,描述的是TCP协议上的对应的应用,可以理解为基于TCP的系统服务,或者说系统进程!如下图,FTP就需要占用特定的TCP端口。 TCP 而 socket 呢,是网络编程中的概念,对TCP/IP协议进行了抽象和实现,并为应用层提供接口。这里的应用A,可以是FTP应用,它属于用户进程,通过socket与内核中的网络协议栈进行交互。 socket socket 是核心,是枢纽,是进程与网络建立关系的必经之路! 1.内核是如何将数据包转发至 socket 的呢? 网络数据首先到达网卡,然后进入内核,由网络协议栈去处理,那么内核是如何进行数据分发的呢?它怎么知道该如何把数据交给特定的用户进程呢? 这时,就需要 socket 发挥作用了! socket 中存储了特定的四元组: 源ip+port,目的ip+port; 1> bind 到特定 ip 和 port 的socket 对应 [src ip, src port) <=> (*, *)] ; 2> connect 到特定目的ip+port 的 socket 对应 [src ip, src port) <=> (dst ip, dst port)]; 3> accept 返回了的 socket 对应 [src ip, src

Nginx+Tomcat搭建集群环境

痴心易碎 提交于 2019-11-30 10:12:09
Nginx+Tomcat搭建集群环境 ZeroOne01 关注 0 人评论 33534人阅读 2018-05-05 14:15:39 集群概述与架构介绍 Tomcat集群能带来什么: 提高服务的性能,例如计算处理能力、并发能力等,以及实现服务的高可用性 提供项目架构的横向扩展能力,增加集群中的机器就能提高集群的性能 Tomcat集群实现方式: Tomcat集群的实现方式有多种,最简单的就是通过Nginx负载进行请求转发来实现 Tomcat单机架构图: 可能看了上面的Tomcat单机的架构图后,会 ”想当然“ 的觉得Tomcat集群架构是这样子的: 这种 ”想当然“ 的Tomcat集群会带来什么问题: Session登录信息存储及读取的问题 服务器定时任务并发的问题 ...... 所以架构的演进并不是 ”想当然“ 的那么简单,当我们的架构随着业务的需求进行演进时,就可能会发生代码上的改动,以及其他各方面配置及机器的改动,并不是单纯的增加Tomcat机器就行了。因为架构的演进都不是一蹴而就的,编程是一个遇见问题解决问题的过程,所以我们不可能一下子就设计出一个完美的架构,而且也不存在完美的架构,只有合适的架构。 常见的Tomcat集群解决方案: 采用 nginx 中的 ip hash policy 来保持某个ip始终连接在某一个机器上 优点:可以不改变现有的技术架构,直接实现横向扩展

Docker容器内部端口映射到外部宿主机端口

久未见 提交于 2019-11-30 09:42:18
Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务。 容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射。 注意: 宿主机的一个端口只能映射到容器内部的某一个端口上,比如:8080->80之后,就不能8080->81 容器内部的某个端口可以被宿主机的多个端口映射,比如:8080->80,8090->80,8099->80 1)启动容器时,选择一个端口映射到容器内部开放端口上 -p 小写p表示docker会选择一个具体的宿主机端口映射到容器内部开放的网络端口上。 -P 大写P表示docker会随机选择一个宿主机端口映射到容器内部开放的网络端口上。 1 2 3 4 5 6 7 8 9 10 11 12 13 比如: [root@docker- test ~] # docker run -ti -d --name my-nginx -p 8088:80 docker.io/nginx 2218c7d88ccc917fd0aa0ec24e6d81667eb588f491d3730deb09289dcf6b8125 [root@docker- test ~] # docker run -ti -d --name my-nginx2 -P docker.io/nginx

内网和外网之间的通信(端口映射原理)

女生的网名这么多〃 提交于 2019-11-30 06:35:30
首先解释一下“内网”与“外网”的概念: 内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的。但两个局域网内的内网IP可以有相同的。 外网:即互联网,局域网通过一台服务器或是一个路由器对外连接的网络,这个IP地址是惟一的。也就是说内网里所有的计算机都是连接到这一个外网IP上,通过这一个外网IP对外进行交换数据的。也就是说,一个局域网里所有电脑的内网IP是互不相同的,但共用一个外网IP。(用ipconfig/all查到的IP是你本机的内网IP;在 www.ip138.com 上看到的是你连接互联网所使用的IP,即外网)。 在局域网中,每台电脑都可以自己分配自己的IP,这个IP只在局域网中有效。而如果你将电脑连接到互联网,你的网络提供商(ISP)的服务器会为你分配一个IP地址,这个IP地址才是你在外网的IP。两个IP同时存在,一个对内,一个对外。 当你家里买了两台电脑,你想组建一个局域网,你除了要用网线和路由器等设备将两台电脑相连,你还要将两台电脑设置固定IP,比如电脑A设为192.168.1.2,电脑B设为192.168.1.3,这样你就可以用这两个IP地址互相访问两台电脑,但这两个IP地址只在这两台电脑间有效,对外网无效。所以局域网中分配的IP与广域网中的IP完全没有对应关系。 你在内网的机子在上网时,都是在向网关发出请求

利用SSH端口转发实现远程访问内网主机远程桌面(二) SSH免密登陆

牧云@^-^@ 提交于 2019-11-30 06:35:20
之前我们利用SSH转发建立起了SSH的远程转发,接下来制作SSH证书配置免密登陆。 登陆服务器命令行,生成证书。 # 生成证书,连按三次回车,在当前目录中生成.ssh文件夹,其中包含私钥id_rsa和公钥id_rsa.pub [root@iZwz9ds6obifn90aw8j2khZ ~]# ssh-keygen -t rsa # 将公钥添加至服务器的信任秘钥中 [root@iZwz9ds6obifn90aw8j2khZ ~]# touch /root/.ssh/authorized_keys [root@iZwz9ds6obifn90aw8j2khZ ~]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys 还需要用WinSCP将私钥 /root/.ssh/id_rsa 文件下载到本地。 Putty无法识别ssh-keygen生成的私钥,需要对 id_rsa 文件进行格式转换。打开PuTTY-gen,选择Load加载id_rsa,然后点击Save private key按钮保存,即可得到PuTTY所能识别的ppk私钥文件。 在putty的主界面进入Connection-Data,在Auto-login username中输入登陆用户。切换到Connection-SSH-Auth,在Private key file

【转帖】Linux 内核系统架构

孤街浪徒 提交于 2019-11-30 06:21:18
Linux 内核系统架构 描述Linux内核的文章已经有上亿字了 但是对于初学者,还是应该多学习多看,毕竟上亿字不能一下子就明白的。 即使看了所有的Linux 内核文章,估计也还不是很明白,这时候,还是需要fucking the code. 28年前(1991年8月26日)Linus公开Linux的代码,开启了一个伟大的时代。这篇文章从进程调度,内存管理,设备驱动,文件系统,网络等方面讲解Linux内核系统架构。Linux的系统架构是一个经典的设计,它优秀的分层和模块化,融合了数量繁多的设备和不同的物理架构,让世界各地的内核开发者能够高效并行工作。先来看看Linus在多年前公开Linux的邮件。 "Hello everybody out there using minix - I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS

charles 端口转发

狂风中的少年 提交于 2019-11-30 05:56:07
本文参考: charles 端口转发 端口转发 端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。 端口转发使您能够将本地TCP或UDP端口透明地转发到远程主机和端口。 所有在端口的请求和回复可能会记录在查尔斯。 端口转发流量记录在Charles中作为 socket//hostport/URL 如果您有要使用Charles监控的非HTTP应用程序,则端口转发非常有用。 将端口创建到原始目标服务器,然后将客户端应用程序连接到本地端口; 端口转发对客户端应用程序是透明的,并使您能够查看Charles先前可能无法使用的流量 例子 您可以将本地主机上的TCP端口2525转发到远程主机上的端口25。 然后当您连接到localhost时:2525 Charles将透明地将流量转发到远程主机,就像您直接连接一样。 您会看到在Charles中记录的流量为 socket//localhost2525 /。 当然了,这些功能我平时用不多; 本文参考: https://www.axihe.com/ 来源: https://www.cnblogs.com/broszhu/p

集线器交换机共享带宽独享带宽的理解

て烟熏妆下的殇ゞ 提交于 2019-11-30 05:12:02
hub,又叫集线器,是共享式的设备,即:网内计算机共享使用一定的速率(同在一个冲突域,同一时刻只能由2台计算机进行通讯),比如10台计算机使用一个10Mhub, 平均 一台计算机使用的带宽是10/10= 1M 。如果这时候只有2台计算机在通讯,那么这两台计算机的通讯速率可以达到10M。这就好比单线公路,如果有一辆汽车在路上,其他汽车需要在路口等待这辆汽车下路后再上路。 交换机同hub比较则为独享式的,这好比多线高速公路,10口10M的交换机每线有10M的速率。可以同时在路上跑着汽车。这里多线对应交换机的端口数量。 HUB和交换机的区别是:以一个10M的HUB和一个10M的交换机为例, HUB的每个端口带宽(正在使用)之和等于10M .而交换机是每个端口都是10M.因而HUB的传输过程数据产生碰撞较多,用户越多,性能越差,而交换机就不存在这个问题. 集线器不管有多少个端口,所有端口都共享一条带宽,在同一时刻只能有两个端口传送数据,其他端口只能等待;只能工作在半双工模式下。交换机每个端口都有一条独占的带宽,当两个端口工作时并不影响其他端口的工作,交换机可以工作在半双工模式下也可以工作在全双工模式下。 打个比方一个8口hub,当端口1上的机器要给端口8上的机器发数据,那这个数据是这样跑的:首先她在端口1上侦听hub上有没有数据在传输,如果没有,端口1就跳出来向hub上喊: