iptables 规则 - 生产环境使用

本贴最后更新于 2301 天前,其中的信息可能已经沧海桑田
#!/bin/bash #清空所有默认规则 iptables -F iptables -t nat -F iptables -t mangle -F #清空所有自定义规则 iptables -X iptables -t nat -X iptables -t mangle -X #所有计数器归0 iptables -Z iptables -A INPUT -i lo -j ACCEPT #开放端口 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 21 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 20 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5203 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10389 -j ACCEPT ##ldap /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT ##ldap /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT ##grafana /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 138 -j ACCEPT ##samba /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT ###samba /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 137 -j ACCEPT ##samba /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT ##samba /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 514 -j ACCEPT ##syslog /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 514 -j ACCEPT ##syslog /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10514 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT #elasticsearch /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 5601 -j ACCEPT #kibana /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5601 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9300 -j ACCEPT #elastic /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 30001:31000 -j ACCEPT ##FTP中的Passives随机端口 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10080:10080 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1617:1617 -j ACCEPT ######开启nat转发(LDAP),源ip:192.168.51.202 源端口:10389 目的ip:172.16.16.4 目的端口:389 /sbin/iptables -t nat -A PREROUTING -d 192.168.51.202 -p tcp --dport 10389 -j DNAT --to-destination 172.16.16.4:389 /sbin/iptables -t nat -A POSTROUTING -d 172.16.16.4 -p tcp -m tcp --dport 389 -j SNAT --to 192.168.51.202 /sbin/iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 10389 -j ACCEPT #test #/sbin/iptables -t nat -A PREROUTING -d 192.168.51.202 -p tcp --dport 8080 -j DNAT --to-destination 10.100.41.87:80 #/sbin/iptables -t nat -A POSTROUTING -d 10.100.41.87 -p tcp -m tcp --dport 80 -j SNAT --to 192.168.51.202 #/sbin/iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT iptables -I FORWARD -j ACCEPT ###开启所有转发 #iptables -I FORWARD -s 192.168.51.0/24 -j ACCEPT ##开启一个网段转发 #允许ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #iptables -A INPUT -p tcp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp #其他入站一律丢弃 iptables -P INPUT DROP #iptables -P INPUT ACCEPT #所有出站一律绿灯 iptables -P OUTPUT ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #所有转发一律丢弃 #iptables -P FORWARD DROP #如果要添加内网ip信任(接受其所有TCP请求) #iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT #iptables -I FORWARD -d 10.100.40.229/22 -j ACCEPT #过滤所有非以上规则的请求 #iptables -P INPUT DROP #要封停一个IP,使用下面这条命令: #iptables -I INPUT -s 45.56.155.153 -j DROP #要解封一个IP,使用下面这条命令: #iptables -D INPUT -s ***.***.***.*** -j DROP service iptables save #centos6 重启iptables #/etc/init.d/iptables restart #centos7 重启iptables systemctl restart iptables.service /sbin/iptables -nvL
  • iptables
    18 引用 • 6 回帖 • 1 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    240 引用 • 224 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
cuijianzhe
6 号黑客成员, 2000-03-03 23:22:13 加入

推荐标签 标签

  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 2 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    336 引用 • 324 回帖
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 26 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖 • 1 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 281 关注
  • RemNote
    2 引用 • 16 回帖 • 24 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 2 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 597 回帖 • 1 关注
  • Visio
    1 引用 • 2 回帖
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    186 引用 • 1021 回帖
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    440 引用 • 1238 回帖 • 591 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 248 回帖
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 350 关注
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    1 引用 • 28 回帖
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 392 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 585 回帖 • 1 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    180 引用 • 3879 回帖
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    151 引用 • 257 回帖 • 1 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 648 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 101 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 179 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖 • 3 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    500 引用 • 1396 回帖 • 246 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 155 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 441 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 615 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    326 引用 • 1395 回帖