首页 > 系统相关 >七月学习之Iptables场景示例

七月学习之Iptables场景示例

时间:2023-08-10 21:36:17浏览次数:37  
标签:Iptables iptables 场景 示例 -- ACCEPT filter state INPUT

10、Iptables场景示例

10.1、iptables场景一

场景描述
1、对所有的地址开放本机的tcp(80、22、8080-9090)端口的访问
2、允许对所有的地址开放本机的基于ICMP协议的数据包访问
3、其他未被允许的端口禁止访问

实现思路
1、先允许端口、协议
2、配置拒绝规则
#INPUT
iptables -F
iptables -t filter -I INPUT -p tcp -m multiport --dport 22,80,8080:9090 -m state --state "NEW,ESTABLISHED,RELATED" -j ACCEPT
iptables -t filter -I INPUT -p icmp -j ACCEPT
iptables -t filter -I INPUT -i lo -j ACCEPT
iptables -t filter -A INPUT -j DROP

#OUTPUT
iptables -t filter -I OUTPUT -p tcp -m multiport --sport 22,80,8080:9090 -m state --state "NEW,ESTABLISHED,RELATED" -j ACCEPT
iptables -t filter -I OUTPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -j DROP

10.2、iptables场景二

场景描述:
1、员工在公司内部(10.0.0.0/24、10.8.0.0/24)能访问服务器上任何服务
2、当员工出差外地,通过vpn连接到公司,也可以访问内部上的任何服务
3、公司有门户网站需要允许公网用户访问http 80/tcp、https 443/tcp

实现思路
1、允许本地lo访问
2、允许10.0.0.0、10.8.0.0网段访问任何服务
3、允许其他网段主机可以访问80、443
4、允许已建立的数据包通过(ESTABLISHED)
5、拒绝所有未允许的数据包

iptables -F
iptables -t filter -I INPUT -i lo -j ACCEPT
iptables -t filter -I INPUT -s 10.0.0.0/24 -j ACCEPT
iptables -t filter -I INPUT -s 10.8.0.0/24 -j ACCEPT
iptables -t filter -I INPUT -m state --state "ESTABLISHED" -j ACCEPT
#外网用户仅能访问80和443
iptables -t filter -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -t filter -A INPUT -p tcp -j DROP

10.3、iptables场景三

ftp服务一般有主动和被动两个模式,那么针对这两个模式该如何配置iptables呢

10.3.1、ftp主动模式规则配置

通常ftp主动模式监听在21端口,然后由20端口作为数据传输端口,向客户端发送数据
1、vsftpd服务端配置支持主动模式
yum install vsftpd -y
vim /etc/vsftpd/vsftpd.conf
port_enable=YES
connect_from_port_20=YES

systemctl restart vsftpd

2、ftp客户端连接模式默认为被动模式,需要通过passive命令切换到主动式
yum install ftp -y
ftp server_address
ftp> passive
Passive mode off  #提示被动模式关闭

3、登录服务端,查看客户端与服务端的连接的状态(服务端20端口主动向客户端随机端口发送数据)
netstat -an |grep -i estab

4、配置防火墙,放行20、21端口,以及建立连接后的数据传输
iptables -F
iptables -A INPUT -p tcp -m state --state "NEW,ESTABLISHED,RELATED" -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 20,21,22 -j ACCEPT
iptables -A INPUT -j DROP

#OUTPUT放行从20、21出去新建的连击,以及已建立的连接,至于ssh就相应建立的连接即可
iptables -t filter -I OUTPUT -p tcp -m multiport --sport 22 -m state --state "ESTABLISHED" -j ACCEPT
iptables -t filter -I OUTPUT -p tcp -m multiport --sport 20,21 -m state --state "NEW,ESTABLISHED,RELATED" -j ACCEPT
iptables -t filter -A OUTPUT -j DROP

10.3.2、ftp被动模式规则配置

ftp被动模式监听在21端口,然后由随机端口作为数据传输端口,向客户端发送数据
由于是随机就没办法指定端口,所以可以配置vsftpd控制随机端口范围

1.修改vsftpd服务端传输数据时的随机端口
vim /etc/vsftpd/vsftpd.conf
pasv_min_port=50000
pasv_max_port=60000
systemctl restart vsftpd

2.配置iptables规则:
# INPUT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 21,50000:60000 -m state --state "NEW,ESTABLISHED,RELATED" -j ACCEPT
iptables -A INPUT -j DROP

# OUTPUT
iptables -I OUTPUT -p tcp --sport 22 -m state --state "ESTABLISHED" -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --sports 21,50000:60000 -m state --state "ESTABLISHED" -j ACCEPT
iptables -A OUTPUT -j DROP

标签:Iptables,iptables,场景,示例,--,ACCEPT,filter,state,INPUT
From: https://blog.51cto.com/u_13236892/7039982

相关文章

  • 3个方向,16个环节,45个场景!智能制造典型场景参考指引—>
    工信部根据“十三五”以来智能制造发展情况和企业实践,结合技术创新和融合应用发展趋势,凝练总结了3个方面16个环节的45个智能制造典型场景,为智能工厂及智慧供应链建设提供参考。智能制造典型场景参考指引智能制造场景是智能工厂的核心组成部分,是指面向制造过程各个环节,通过新一......
  • vivo 场景下的 H5无障碍适配实践
    作者:vivo互联网前端团队-ZhangLi、DaiWenkuan随着信息无障碍的建设越来越受重视,开发人员在无障碍适配中也遇到了越来越多的挑战。本文是笔者在vivo开发H5项目做无障碍适配的实践总结。本文主要介绍了在前端项目中常用的无障碍手势和无障碍属性,并且结合具体的开发案例为开发......
  • Java语言代码示例
    packagecom.qgproxy;importjava.io.ByteArrayOutputStream;importjava.io.InputStream;importjava.net.Authenticator;importjava.net.HttpURLConnection;importjava.net.InetSocketAddress;importjava.net.PasswordAuthentication;importjava.net.Proxy;importjava.......
  • PHP语言使用隧道代码示例
    /***请求**@param[type]$targetUrl目标站点*@param[type]$proxyIp代理ip*@param[type]$proxyPort代理端口*@param[type]$proxyUserAuthKey*@param[type]$proxyPasswordAuthPwd*@returnvoid*/functionsendRequest($targetUrl,$proxyIp,$proxyPort,$proxy......
  • Python语言代码示例
    PythonrequestsimportrequeststargetURL="https://ip.hahado.cn/api/index?ip=&type=0"proxyAddr="您的代理IP:端口"authKey="请改成您的Key"password="请改成您的AuthPwd"#账密模式proxyUrl="http://%(user)s:%(password)s@%(serv......
  • Spring Boot常见企业开发场景应用、自动配置原理结构分析
     读者应具备:SpringSpringMVC服务器端开发基础Maven基础本篇主要介绍SpringBoot在企业开发中常见场景的使用、以及SpringBoot的基本原理结构。以下为本篇设计的技术应用场景:构建SpringJava程序构建JUnit测试用例构建SpringJDBCTemplate应用程序操作数据库构建Servlet、JSP程......
  • 美团 Elasticsearch 特定场景内核级改造优化分享
     最近在做千亿级别ES检索优化的工作。在检索中面临了非常多的挑战,总结成一句话,在资源不足的情况下,想要实现对百亿数据检索,3秒内返回结果。并且搜索的关键词非常多,这一度让我觉得是不能完成的事情。 但是美团这篇文章,写的真的很有深度,从问题出发,先抛出来问题,然后一步一步的将问......
  • 七月学习之Iptables自定义链
    9、Iptables自定义链9.1、为什么要使用自定义链iptables的默认链就已经能够满足我们了,为什么还需要自定义链呢当默认链中的规则非常多时,不便于管理1、假设INPUT链中存放了100条规则,这100条规则有针对80端口的,有针对22端口的2、如果想修改22端口的规则,则需要将所有规则都看一遍,......
  • 23种设计模式及其应用场景
    23种设计模式及其应用场景设计模式主要分三个类型:创建型、结构型和行为型。创建型有:一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点;应用场景:一个无状态的类使用单例模式节省内存资源。二、AbstractFactory,抽象工厂:提供一个创建一系列相关或相......
  • 2023中国(合肥)场景创新峰会成功举办,全息网御被纳入《合肥市第二批场景能力清单》
    场景作为重要的城市资源,在驱动科技创新、产业发展、城市治理方面发挥着重要作用。近年来,为促进数字技术与实体经济深度融合,加速前沿科技转化落地、吸引全球创新资源集聚,合肥市聚焦“双找”:为产品找场景,为场景找产品,推进全领域、全市域、全流程场景应用创新工作,打造“全域场景应用创......