Day66-企业级防火墙iptables精讲2

Day66-企业级防火墙iptables精讲2

  • 1. iptables项目案例2:局域网共享上网:
  • 2. iptables项目案例3:外网IP的端口映射到内网IP的端口
  • 3. 老男孩教育iptables项目案例4:IP一对一映射(DMZ)
  • 4. 老男孩教育iptables项目案例5:映射多个外网IP上网(1200人)
  • 5. 老男孩教育iptables项目案例6:企业级Linux系统路由器的配置
  • 6. Linux抓包命令tcpdump是一个抓包工具,用于抓取互联网上传输的数据包

链接: http://www.netfilter.org/projects/iptables/index.html

1. iptables项目案例2:局域网共享上网:

做网关环境准备:
1、只保留内网卡172.16.1.51 db01

ifdown eth0
route add default gw 172.16.1.8

# 测试上网:
ping www.baidu.com
ping 203.81.19.1
结果应该都不通。

2、网关服务器 172.16.1.8 web02

eth0:10.0.0.8
eth1:172.16.1.8
gw: 10.0.0.254

测试:ping www.baidu.com 结果通。

3、网关172.16.1.8开启内核路由转发:
内核文件/etc/sysctl.conf里开启转发功能。
在服务器网关B 172.16.1.8机器上开启路由转发功能。
编辑/etc/sysctl.conf修改内容为net.ipv4.ip_forward = 1,然后执行sysctl -p使修改生效。

[root@oldboy ~]# sysctl -p
net.ipv4.ip_forward = 1

4、调整iptables FORWARD默认规则为许可

iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P PREROUTING ACCEPT

iptables -nL -t nat
iptables -nL -t filter

5、生产案例:共享上网iptables命令 路由器的NAT命令

iptables -t nat -A POSTROUTING -o eth0 -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.8

在这里插入图片描述
局域网共享上网的两种iptables方法:
方法1:适合于有固定外网地址的:

iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.8
(1)-s 172.16.1.0/24               ##办公室或IDC内网网段。
(2)-o eth0                        ##为网关的外网卡接口。
(3)-j SNAT --to-source 10.0.0.8   ###是网关外网卡IP地址。

方法2:适合变化外网地址(拨号上网):

iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE    ##伪装。

买带宽的时候:

  1. 来根上连线,接到我们自己的外网交换机上,就可以配置外网地址。
    上网网关:共享上网。
  2. 光猫—拨号(用户名密码)路由器(Linux)—网关
  3. 见iptables项目案例6:企业级Linux系统路由器的配置

一台 linux 服务器 IP 为:192.168.0.8 ,只希望开放 TCP 80 端口,请写出 iptables 的设置命令

iptables -P INPUT DROP
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

2. iptables项目案例3:外网IP的端口映射到内网IP的端口

需求:将网关的IP和9000端口映射到内网服务器的22端口
端口映射 10.0.0.8:9000 -->172.16.1.51:22
源:10.0.0.1:520
目:10.0.0.8:22
源:10.0.0.1:520
目:172.16.1.51:22
实现命令:

iptables -t nat -A PREROUTING -d 10.0.0.8 -p tcp --dport 9000 -j DNAT --to-destination 172.16.1.51:22

(1)-d 10.0.0.8目标地址。
(2)-j DNAT 目的地址改写。

3. 老男孩教育iptables项目案例4:IP一对一映射(DMZ)

辅助IP:

ip addr add 10.0.0.81/24 dev eth0 label eth0:0   #<==辅助IP

iptables  -t nat -I PREROUTING -d 10.0.0.81 -j DNAT --to-destination 172.16.1.51
iptables  -t nat -I POSTROUTING -s 172.16.1.51 -o eth0 -j SNAT --to-source 10.0.0.81

适合内网的机器访问NAT外网的IP

iptables  -t nat -I POSTROUTING -s 172.16.1.0/255.255.240.0 -d 10.0.0.81 -j DNAT --to-destination 172.16.1.51

检查:

ping 10.0.0.81 -t
tcpdump -i eth0 -p icmp(两台机器上分别监测)
telnet 10.0.0.81 873(51上提前配好)

4. 老男孩教育iptables项目案例5:映射多个外网IP上网(1200人)

方法1:

10.0.1.0/24   gw:10.0.1.1
10.0.2.0/24   gw:10.0.2.1
10.0.3.0/24   gw:10.0.3.1
10.0.4.0/24   gw:10.0.4.1
10.0.5.0/24   gw:10.0.5.1

三层交换机或路由器,基于端口划分VLAN。

iptables -t nat -A POSTROUTING -s 10.0.1.0/255.255.240.0 -o eth0 -j SNAT --to-source 124.42.60.11-124.42.60.16

出口IP:124.42.60.11-124.42.60.16

方法2:

iptables -t nat -A POSTROUTING -s 10.0.1.0/22 -o eth0 -j SNAT --to-source 124.42.60.11
iptables -t nat -A POSTROUTING -s 10.0.2.0/22 -o eth0 -j SNAT --to-source 124.42.60.12

扩大子网主机个数,会加重广播风暴问题。

课外阅读:
(1)生产环境大于254台机器网段划分及路由解决方案详解01
链接: http://v.youku.com/v_show/id_XNTAyMjAwMzI0.html
(2) linux route命令深入浅出与实战案例精讲
链接: http://oldboy.blog.51cto.com/2561410/1119453
链接: http://oldboy.blog.51cto.com/2561410/974194
必看3遍以上。

负载均衡器开启iptables,报错误了。。。
老男孩教育iptables项目案例4:iptables故障案例及内核参数优化
有关iptables的内核优化
调整内核参数文件/etc/sysctl.conf
以下是我的生产环境的某个服务器的配置:
#dmesg里面显示 ip_conntrack: table full, dropping packet.的错误提示,什么原因?如何解决?

iptables优化

net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

----------------------------------------

cat /proc/sys/net/nf_conntrack_max
ls /proc/sys/net/netfilter/

[root@web01 ~]# cat /proc/1/net/nf_conntrack
ipv4     2 tcp      6 125 ESTABLISHED src=10.0.0.1 dst=10.0.0.8 sport=1851 dport=9000 src=172.16.1.52 dst=10.0.0.1 sport=22 dport=1851 [ASSURED] mark=0 secmark=0 use=2
ipv4     2 udp      17 135 src=10.0.0.8 dst=223.5.5.5 sport=56910 dport=53 src=223.5.5.5 dst=10.0.0.8 sport=53 dport=56910 [ASSURED] mark=0 secmark=0 use=2
ipv4     2 tcp      6 35 SYN_SENT src=172.16.1.8 dst=172.16.1.61 sport=50659 dport=10051 [UNREPLIED] src=172.16.1.61 dst=172.16.1.8 sport=10051 dport=50659 mark=0 secmark=0 use=2
ipv4     2 tcp      6 179 ESTABLISHED src=10.0.0.1 dst=10.0.0.8 sport=1275 dport=22 src=10.0.0.8 dst=10.0.0.1 sport=22 dport=1275 [ASSURED] mark=0 secmark=0 use=2
ipv4     2 udp      17 137 src=10.0.0.8 dst=51.15.41.135 sport=123 dport=123 src=51.15.41.135 dst=10.0.0.8 sport=123 dport=123 [ASSURED] mark=0 secmark=0 use=2
ipv4     2 tcp      6 98 SYN_SENT src=172.16.1.8 dst=172.16.1.61 sport=50661 dport=10051 [UNREPLIED] src=172.16.1.61 dst=172.16.1.8 sport=10051 dport=50661 mark=0 secmark=0 use=2
ipv4     2 udp      17 137 src=10.0.0.8 dst=202.118.176.2 sport=123 dport=123 src=202.118.176.2 dst=10.0.0.8 sport=123 dport=123 [ASSURED] mark=0 secmark=0 use=2

重点:
0、老男孩教育iptables项目案例1:主机防火墙
1、老男孩教育iptables项目案例2:局域网共享上网*****
2、老男孩教育iptables项目案例3:外网IP的端口映射到内网IP的端口*****
3、老男孩教育iptables项目案例4:IP一对一映射
4、老男孩教育iptables项目案例5:iptables生产故障及对应内核优化
5、老男孩教育iptables项目案例6:企业级Linux系统路由器的配置

5. 老男孩教育iptables项目案例6:企业级Linux系统路由器的配置

路由连接地址为10.1.34.81/24
默认路由:10.1.34.1
分配的公网ip地址:110.233.24.96/27 255.255.255.224
在这里插入图片描述

要求:购买企业级路由器:
用zebra(quagga)替代企业级路由器:
Linux上配置zebra(quagga)路由:

client(config)#int eth0
client(config-if)#ip add 10.1.34.81 255.255.255.0
client(config-if)#int eth1
client(config-if)#ip add 110.233.24.96 255.255.255.224
client(config)#ip route 0.0.0.0 0.0.0.0 10.1.34.1
client(config)#ip route 110.233.24.96/27 eth1

6. Linux抓包命令tcpdump是一个抓包工具,用于抓取互联网上传输的数据包

tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具
tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息

常用选项

-i       #监听哪一个网卡  -i eth0
-n  	 #不把ip解析成主机名  
-nn 	 #不把端口解析成应用层协议
-c  	 #指定抓包的数量
-v 		 #输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。 
-vv 	 #输出详细的报文信息。

#实例
1、默认启动

tcpdump -vv		#普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

2、过滤主机

tcpdump -i eth1 host 192.168.1.1		#抓取所有经过eth1,目的或源地址是192.168.1.1的网络数据
tcpdump -i eth1 src host 192.168.1.1	#指定源地址,192.168.1.1
tcpdump -i eth1 dst host 192.168.1.1	#指定目的地址,192.168.1.1

3、过滤端口

tcpdump -i eth1 port 80			#抓取所有经过eth1,目的或源端口是80的网络数据
tcpdump -i eth1 src port 80		#指定源端口
tcpdump -i eth1 dst port 80		#指定目的端口

4、协议过滤

tcpdump -i eth1 arp
tcpdump -i eth1 ip
tcpdump -i eth1 tcp
tcpdump -i eth1 udp
tcpdump -i eth1 icmp
tcpdump -i eth1 -p icmp

#抓tcp某端口的数据包
tcpdump -i eth0 tcp port 21 -nn

5、常用表达式
非 : ! or “not” (去掉双引号)
且 : && or “and”
或 : || or “or”

#抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数
tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'

#抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据
tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'

#抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据
tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/515888.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java常用类和基础API

文章目录 1. 字符串相关类之不可变字符序列&#xff1a;String1.1 String的特性1.2 String的内存结构1.2.1 概述1.2.2 练习类型1&#xff1a;拼接1.2.3 练习类型2&#xff1a;new1.2.4 练习类型3&#xff1a;intern() 1.3 String的常用API-11.3.1 构造器1.3.2 字符串对象的比较…

【THM】Protocols and Servers(协议和服务器)-初级渗透测试

介绍 这个房间向用户介绍了一些常用的协议,例如: HTTP协议文件传输协议POP3邮件传输协议IMAP每个协议的每个任务都旨在帮助我们了解底层发生的情况,并且通常被优雅的GUI(图形用户界面)隐藏。我们将使用简单的 Telnet 客户端来使用上述协议进行“对话”,以充分了解GUI客户…

Unity开发一个FPS游戏之三

在前面的两篇博客中&#xff0c;我已实现了一个FPS游戏的大部分功能&#xff0c;包括了第一人称的主角运动控制&#xff0c;武器射击以及敌人的智能行为。这里我将继续完善这个游戏&#xff0c;包括以下几个方面&#xff1a; 增加一个真实的游戏场景&#xff0c;模拟一个废弃的…

5.2 通用代码,数组求和,拷贝数组,si配合di翻转数组

5.2 通用代码&#xff0c;数组求和&#xff0c;拷贝数组&#xff0c;si配合di翻转数组 1. 通用代码 通用代码类似于一个用汇编语言写程序的一个框架&#xff0c;也类似于c语言的头文件编写 assume cs:code,ds:data,ss:stack data segmentdata endsstack segmentstack endsco…

刘小光本就疑心赵本山与他媳妇李琳有染,赵本山为证实清白便想起蛋糕上的字,结果呢?

刘小光本就疑心赵本山与他媳妇李琳有染&#xff0c;赵本山为证实清白便想起蛋糕上的字&#xff0c;结果呢&#xff1f; ——小品《生日快乐》&#xff08;中5&#xff09;的台词 &#xff08;接上&#xff09; 赵本山&#xff1a;噢!对对!那谁&#xff0c;老四&#xff0c;是…

GEE错误——土地分类中出现Line 126:composite.select(...).classify is not a function

错误 Line 126:composite.select(...).classify is not a function 出现 "GEE在土地分类中出现的一个问题... is not a function" 的主要原因可能有几种 1. 变量或函数名拼写错误:检查代码中的该函数或变量名是否正确拼写,包括大小写。 2. 函数或变量未声明:检查…

Docker,anaconda环境的部署与迁移

功能上线将提上日程&#xff0c;但是如何将我windows环境下的程序放到linux服务器的测试环境跑通呢&#xff1f;这是我这整个清明假期将要解决的一件事&#xff0c;最蠢的办法就是看自己的环境下有哪些依赖&#xff0c;如何到服务器上一个一个下&#xff0c;但是首先这个方法很…

Brain.js 的力量:构建多样化的人工智能应用程序

机器学习&#xff08;ML&#xff09;是人工智能 (AI) 的一种形式&#xff0c;旨在构建可以从处理的数据中学习或使用数据更好地执行的系统。人工智能是模仿人类智能的系统或机器的总称。 机器学习&#xff08;ML&#xff09;与复杂的数学纠缠在一起&#xff0c;让大多数初学者…

逻辑代数点

文章目录 与或非与非 或非 与或非异或同或布尔恒等式代入定理例子例子 反演定理例子例子:例子: 真值表 与 逻辑式&#xff1a;逻辑式 与 逻辑图最小项例子:最小项编号最小项性质最小项之和 最大项最大项性质最大项编号 逻辑代数的化简公式化简法卡诺图化简法表示逻辑代数用卡诺…

【蓝桥备赛】异或和——树状数组、DFS

题目链接 异或和 思路分析 树上每个点都有一个点权&#xff0c;对树上的更新操作是修改指定点的点权&#xff0c;查询操作是查询指定点为根结点的子树点权异或和。 这里的这些操作都和树状数组的单点修改和区间查询非常相似&#xff0c;即我们在修改一个点时&#xff0c;同时…

Three.js——scene场景、几何体位置旋转缩放、正射投影相机、透视投影相机

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

医院云HIS系统源码,二级医院、专科医院his系统源码,经扩展后能够应用于医联体/医共体

基于云计算技术的B/S架构的HIS系统&#xff0c;为医疗机构提供标准化的、信息化的、可共享的医疗信息管理系统&#xff0c;实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。 系统利用云计算平台的技术优势&#xff0c;建立统一的云HIS、云病历、云LIS&#xff0…

Linux集群部署项目

目录 一&#xff0c;环境准备 1.1.安装MySQL 1.2.安装JDK 1.3.安装TomCat 1.4.安装Nginx 二&#xff0c;部署 2.1.后台服务部署 2.2.Nginx配置负载均衡及静态资源部署 一&#xff0c;环境准备 1.1.安装MySQL 将MySQL的安装包上传至服务器 查看系统中是否存在mariadb&…

167.乐理基础-四个偏音、六声、七声、清雅燕乐

如果到这五线谱还没记住还不认识的话去看102.五线谱-高音谱号与103.五线谱-低音谱号这两个里&#xff0c;这里面有五线谱对应的音名&#xff0c;对比着看 如果不认识调号去看112.五线谱的调号&#xff08;一&#xff09;、113.五线谱的调号&#xff08;二&#xff09;、114.快…

图片改大小尺寸怎么改?几个修改图片尺寸的方法

日常生活和工作中&#xff0c;图片的大小和尺寸对于我们的工作和生活都至关重要&#xff0c;因此我们经常需要调整图片的大小。我们都知道压缩图是一款功能强大的图片在线处理工具&#xff0c;那么用它怎么调整图片大小呢&#xff1f;下面就让我们一起来看一下具体的操作步骤。…

Sora的阅读技术报告

sora的技术报告 走进sorasora的特性sora的介绍sora的实际操作sora的发展安全措施研究技术 走进sora 大家好&#xff0c;我是清风之上。随着人工智能的发展&#xff0c;慢慢的他已经出现在我们生活中的各个角落&#xff0c;其中有API推出的sora&#xff0c;让我们震惊不已&…

应急响应实战笔记05Linux实战篇(2)

第2篇&#xff1a;捕捉短连接 0x00 前言 ​ 短连接&#xff08;short connnection&#xff09;是相对于长连接而言的概念&#xff0c;指的是在数据传送过程中&#xff0c;只在需要发送数据时&#xff0c;才去建立一个连接&#xff0c;数据发送完成后&#xff0c;则断开此连接…

多叉树题目:N 叉树的层序遍历

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;N 叉树的层序遍历 出处&#xff1a;429. N 叉树的层序遍历 难度 4 级 题目描述 要求 给定一个 N 叉树的根结点 root \texttt{root} root&#xf…

架构之道:架构、结构、中间件、安全性

对本篇文章中有些此不是很理解的&#xff0c;可以看之前讲解的后端通用技术大全&#xff1a;后端技术大全-CSDN博客 一起食用&#xff0c;效果更加。 一、架构到底是什么 关于架构这个概念很难给出一个明确的定义&#xff0c;也没有一个标准的定义。 硬是要给一个概述&#…

社交媒体市场:揭示Facebook的商业模式

在数字化时代&#xff0c;社交媒体已经成为人们生活中不可或缺的一部分。Facebook作为全球最大的社交媒体平台之一&#xff0c;其商业模式的运作方式对于了解社交媒体市场的发展趋势和影响力至关重要。本文将深入探讨Facebook的商业模式&#xff0c;剖析其运作机制&#xff0c;…