前言:事情是这样的,最近部门在进行故障演练。攻方同学利用iptables制造了一个单机不能访问的故障,要求业务同学在不知情的情况下尽快恢复业务。演练最终肯定是取得了理想的效果,即业务同学在规定时间内定位了问题并恢复了业务。
Docker作为一种容器技术,在目前的分布式和微服务系统中被广泛使用,因为要在多个容器或机器间进行通信,因此Docker网络通信是一个重要的技术点。从网络架构的角度来看,所有的容器实际上是通过本地主机的网桥接口(docker0)进行相互通信,就像物理机器通过物理交换机通信一样。
内网Web Server 和 Ftp Server 需要将端口映射到公网 221.6.78.169 对外提供服务,其中Web 主机IP:192.168.1.12 端口443;Ftp 主机IP:192.168.99.51 端口8099;
遇到的问题:私网内要被访问的(对外网提供服务的)机器这里表示为:私网服务器,它已经通过端口映射功能可以通过公网IP被访问。但是其自身和私网内的其他机器却不能通过公网IP访问这台服务器。 要实现的目标:私网内的机器可以通过其公网IP访问私网内的其它机器或者自身机器。 解决方法: PREROUTING -s 私网网段 -d 公网IP -j DNAT --to-destination 私网服务器地址 POSTROUTING -s 私网网段 -d 私网服务器地址 -j SNAT --to-source 私网网关
客户端(kali)基于tcp第一次握手,给服务器端(centos)发送了大量标记位为SYN的包。 服务器端收到来自客户端的syn包后,对源ip返回标记位为syn_ack的包,这是第二次握手。 由于源ip是伪造的,所以返回的syn_ack包发送不到正确的地方,更不要说得到回应了。所以服务器端一直是SYN-RCVD阶段。
保护内部主机和内部网络的安全,通过过滤的方式对网络层的ip地址和端口进行处理,不同的硬件或者软件平台上存在不同的防火墙,例如硬件防火墙ASA, Linux上的软件防火墙iptables,window上的防火墙ISA。
iptables来源:《Linux网络技术》王波(第一版)。中关于iptables的命令介绍。见增补信息。
iptables是一个在Linux操作系统上使用的防火墙工具,它可以用于配置和管理网络数据包的过滤、转发和修改等操作。
wireshark是非常流行的网络封包分析软件,功能十分强大。可以抓取各种网络包,并显示网络包的详细信息。
首先简述下NAT服务器在负载均衡中做了什么,简单的说就是Linux (内核2.4以后是Netfilter肩负起这个使命滴)内核缓冲区修改来源,目标地址。
netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。
IP 地址分为公网地址和私有地址。公网地址有 IANA 统一分配,用于连接互联网;私有地址可以自由分配,用于私有网络内部通信。
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
linux防火墙主要工作在网络层,针对TCP/IP数据包实施过滤和限制(包过滤防火墙或网络层防火墙),linux防火墙
目标主机是Linux系统,目标主机防火墙有严格的限制,只允许80端口的流量进入。我们拿到了目标主机的Webshell并且拿到了SSH的账号密码。但是我们不能通过22端口远程连接,必须得利用80端口做端口复用连接。
在Centos7版本之后,防火墙应用已经由从前的iptables转变为firewall这款应用了。但是,当今绝大多数的Linux版本(特别是企业中)还是使用的6.x以下的Centos版本,所以对iptables的了解还是很有必要的。此外,需要说明的是iptables自身并不具备防火墙的功能,它需要通过内核netfilter(网络过滤器)来实现,与firewalld一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样,他们都只是一个外壳应用罢了。打个比方,就好像有一本书,同样的内容,一种是纸质的,另一种是电子的,我们翻阅它的方式不同,给它做笔记的方式不同,但是内容(内核)一样。
NAT(net address translation)网络地址转换,功能是为了实现内网访问公网的。我们知道,IPv4由于可用ip数量有限,不能满足于全球主机网络通信的需求,所以人们设计了内、公网分类的方式。即有些IP仅允许在企业内部局域网使用,不同企业的局域网允许使用相同的IP段。这些IP我们称之为内网IP,内网IP共有以下三大段:
查看状态 systemctl status firewalld / firewall-cmd --state
这个当初我理解不了,主要是没把netfilter理解清楚。 Netfilter是集成在内核中的,用来定义存储各种规则的。Iptalbe是修改这些规则的工具,修改后存在netfilter里面。
在上期《云计算与虚拟化硬核技术内幕 (16) —— 抄作业的熊孩子》中,我们发现,虽然用DPDK可以极大提升Intel x86+Linux系统对网络数据包的处理效率,但如果硬件网卡(NIC)不能将数据包按流均分到各个DPDK运行的CPU HT上,会造成部分数据包乱序。
LVS是Linux Virtual Server的缩写,即Linux虚拟服务器,是由章文嵩博士主导开发的开源负载均衡项目,目前LVS已经被集成到Linuxd内核模块中。章文嵩博士曾任淘宝网技术总监、阿里副总裁、阿里云CTO,2016年任滴滴出行高级副总裁。章博士曾经总结道:做技术不仅要有一份执着和细致的心,还要有一份平静的心态。就拿开源项目来讲,都是免费的,没有收入,收获的是自己的满足感,而非金钱,这时候更需要冷静和平和的心态。把这句话送给我自己,也送给大家。(貌似有点扯远了)
用来指明使用的表,有三种选项: filter,nat,mangle。若未指定,则默认使用filter表。
1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限制等。Iptables/Netfilter的这些规则可以通过灵活组合,形成非常多的功
如图 1 所示,路由器 R1 通过两个物理接口分别连接物联网终端 R4(通过一台路由器 模拟)及计算机 PC1。其中,路由器 R1 和 R4 推荐使用 AR2220 及以上设备。
在使用Linux的过程中,很多人和我一样经常接触iptables,但却只知道它是用来设置Linux防火墙的工具,不知道它具体是怎么工作的。今天,我们就从零开始认识一下Linux下iptables的具体工作原理。
iptables是 Linux系统中用于管理网络包过滤的工具。它可以用来设置规则,以控制网络数据包的流动。iptables可以用于防火墙、网络地址转换(NAT)和网络包过滤等多种用途。
先说明一下环境,这里有四台主机,中间的Centos充当防火墙。右上角的win XP和右下角的Rhel7充当服务器,最左边的win7充当主机。四者之间的网卡都已经配置好。而且我们已经在Centos6.5上开启了端口转发功能。
容器的本质就是一个进程,只不过对它进行了Linux Namesapce隔离,让它看不到外面的世界,用Cgroups限制了它能使用的资源,同时利用系统调用pivot_root或chroot切换了进程的根目录,把容器镜像挂载为根文件系统rootfs。rootfs中不仅有要运行的应用程序,还包含了应用的所有依赖库,以及操作系统的目录和文件。rootfs打包了应用运行的完整环境,这样就保证了在开发、测试、线上等多个场景的一致性。
LVS是linux virtual server的简写linux虚拟服务器,是一个虚拟的服务器集群系统,可以再unix/linux平台下实现负载均衡集群功能。
原文链接:https://rumenz.com/rumenbiji/linux-tcpdump.html
基本ACL(Access Control List)是一种简单的网络安全功能,用于控制网络流量的传输。在华为、思科和瞻博网络设备上,基本ACL配置可以通过以下方式实现:
TCPDump是一个网络抓包工具,它可以在命令行下运行来捕获和分析网络传输过程中的数据包,TCPDump可以在多种操作系统上运行,包括Linux、Unix、Mac OS X和Windows等平台
Linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd
防火墙一般来说,iptables和firewalld启用一个即可iptablesiptables是Linux中常用的防火墙工具规则链PREROUTING 在进行路由选择前处理数据包INPUT 处理流入的数据包OUTPUT 处理流出的数据包FORWARD 处理转发的数据包POSTROUTING 在进行路由选择后处理数据包 一般来说,从内网向外网发送的流量一般都是可控且良性的,因此使用最多的就是INPUT规则链,该规则链可以增大黑客人员从外网入侵内网的难度。 但是仅有规则链,还不足以保护用户安全,还应该和一些动
Harbor是vmware开源企业级Docker Registry,具有存储,日志统计,权限控制等功能,基于Docker官方Registry v2实现,项目开源地址。
iptables实际上就是一种包过滤型防火墙。iptables是Linux系统下最常见的防火墙命令,但实际上它只是一个命令行工具,真正的内核防火墙是位于操作系统内核空间的netfilter。通过iptables命令制定规则并执行,即可使得netfilter在内核层对数据包作出相应的处理。
[root@centos6 ~]# service iptables status
工作原理: 基础: 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址
为什么需要使用负载均衡呢?这是一个必较重要的问题 实际生产环境中某单台服务器已不能负载日常用访问压力时,就需要使用负载均衡,把用户的请求数据分担到(尽可能平均分配)后端所有功能同等的集群的节点上,同样也是为了解决单台服务器故障问题,从而提高用户的访问体验。
配置安全违例的处理方式为shutdown,可选为protect (当安全地址数满后,将未知名地址丢弃)、restrict(当违例时,发送一个Trap通知)、shutdown(当违例时将端口关闭,并发送Trap通知,可在全局模式下用errdisable recovery来恢复)
上一篇文章中,我们介绍了 netfilter/iptables 的原理。 netfilter/iptables 原理 本文我们就来介绍一下 iptables 的具体用法。
Linux命令有很多,今天跟大家介绍常用的两个命令ping 、traceroute命令,按照工具的作用,原理,用法三个维度来理解。
基于MHA+consul的高可用方案上线已经一段时间了,目前比较稳定,之前线上环境使用的是VIP+MHA的高可用方案,这种方案在跨机房之间进行故障切换存在问题,所以现在要将服务器上的VIP(virtual IP address)给摘除掉,要摘除VIP,需要查看当前VIP是否有应用服务进行连接,这里利用到了tcpdump这个Linux命令来查看。
当访问到对端中途设备,发现ttl不够用的时候,中途设备随即返回一个icmp 报文 ttl不可达.
在本文中,我们将深入解析iptables NAT(网络地址转换)的功能,以及如何使用它进行网络中转。我们会详细解释NAT中使用的PREROUTING、POSTROUTING和OUTPUT链的含义,介绍如何配置DNAT(目标网络地址转换)和SNAT(源网络地址转换),并在内网场景中演示这些概念。最后,我们将阐述如何持久化iptables配置,以保证在重启后仍然生效。
领取专属 10元无门槛券
手把手带您无忧上云