实验案例:公司使用一台运行RHEL5系统的服务器作为网关,分别连接三个网络,其中LAN1为普通员工电脑所在的局域网,LAN2为DNS缓存服务器所在的局域网。eth0通过10M光纤接入Internet。为了有效的管理网络环境及增强内部网络的安全性,需要配置iptables防火墙规则实现IP地址和端口的过滤控制。网络拓扑如下:

需求描述:

入站控制:

1.允许Internet上的主机访问网关服务器的21、25、80、110、143端口。

2.允许IP地址为201.12.13.14的远程主机访问网关22端口,并记录访问日志(每15分钟记录一次)。

3.允许IP地址为192.168.1.5、MAC地址为00:0C:27:30:4E:5D的主机访问网关的22端口。

4.仅允许局域网主机(LAN1:192.168.1.0/24)访问3128端口的代理服务。

转发控制:允许LAN1的主机通过网关访问位于LAN2的DNS的服务器(192.168.2.2)。

其它任何非明确许可的数据包入站访问均予以丢弃;数据包出站访问均允许。

编写的iptables脚本如下:

  1. #!/bin/bash
  2. #This is the firewall configuration
  3. iptables -t nat -F
  4. iptables -F
  5. iptables -P INPUT DROP
  6. iptables -P FORWARD DROP
  7. iptables -A INPUT -p tcp -m multiport --dport 21,25,80,110,143 -j ACCEPT
  8. iptables -A INPUT -p tcp --dport 22 -s 201.12.13.14 -j ACCEPT
  9. iptables -A INPUT -p tcp --dport 22 -m limit --limit 4/hour -j LOG
  10. iptables -A INPUT -p tcp --dport 22 -s 192.168.1.5 -m mac --mac-source 00:0C:27:30:4E:5D -j ACCEPT
  11. iptables -A INPUT -p tcp --dport 3128 -s 192.168.1.0/24 -j ACCEPT
  12. iptables -A FORWARD -p udp --dport 53 -s 192.168.1.0/24 -j ACCEPT
  13. iptables -A FORWARD -p udp --sport 53 -d 192.168.1.0/24 -j ACCEPT

最后还要开启Linux网关服务器的路由转发功能:

# vi /etc/sysctl.conf

net . ipv4 .ip_forward = 1

本文转自 kk5234 51CTO博客,原文链接:http://blog.51cto.com/kk5234/397029,如需转载请自行联系原作者

编写iptables脚本实现IP地址、端口过滤相关推荐

  1. 常用IP地址端口对照表

    Tag: 常用IP地址端口对照表 常用IP地址端口对照表 端口:0 服务:Reserved 说明:通常用于分析操作系统.这一方法能够工作是因为在一些系统中"0"是无效端口,当你试图 ...

  2. day31 网络通信udp,ip地址,端口port

    网络通信概述 1. 什么是网络 说明 网络就是一种辅助双方或者多方能够连接在一起的工具 如果没有网络可想单机的世界是多么的孤单 单机游戏(不能和远在他乡的朋友一起玩) 2. 使用网络的目的 就是为了联 ...

  3. iptables限制Docker IP和端口访问

    等保整改安全加固时,使用iptabels限制docker端口不生效,限制非docker容器端口可生效.经查阅大量资料,发现Docker容器创建时会自动创建iptables策略,Docker使用的i规则 ...

  4. Linux上使用telnet连接本机IP地址端口

    场景 Linux开启了iptables!!! 开启本机TCP80端口服务.Linux本机IP地址是192.168.204.129.本机telnet连接本机的TCP80端口. 目的 telnet 192 ...

  5. MAC地址IP地址 端口

    网络结构: 服务器-客户机(C/S)Client-Server结构,如QQ,LOL都拥有客户端 优点:响应速度快,形式多样,安全新较高 缺点:安装软件和维护,不能跨平台LINUX/windows/MA ...

  6. 腾讯QQ登录服务器域名IP地址端口列表

    UDP服务器: sz.tencent.com 端口:8000 IP地址:219.133.49.171 =in<[REp   UDP服务器:sz2.tencent.com 端口:8000 IP地址 ...

  7. 用java程序编写ip仿真器_用java 编写一个可以实现IP地址查询功能的课程设计

    展开全部 下面是获得本机IP地址的方法,跟你的程序捆绑起来,互相发送消息的时候直接将IP发送过去 private static String[] getAllLocalHostIP(){ 323131 ...

  8. linux脚本显示ip地址,Linux中显示ip地址的命令【显哥出品,必为精品】

    在Linux中有三种查看ip地址的方法,下面我分别来介绍 1.ip address命令 使用ip address命令可以查看具体是ip信息 [root@lixian ~]#ip address 1: ...

  9. 如何用脚本修改dns服务器地址,.bat脚本修改IP地址和DNS服务器地址

    静态修改 @echo off cls color 0A Echo ******************************************************************* ...

最新文章

  1. 计算机硬件带软件怎么入账,小企业购置计算机硬件所附带的、未单独计价的软件,通过( )科目核算。A.无形资产B.固定资产C.在 - 赏学吧...
  2. Rxjava使用四部曲 + 相应衍生
  3. 20十年后的计算机作文600字,20年后的学校作文600字
  4. java常见的算法_Java常用算法总结(转)
  5. oracle带输出参数存储,oracle带输入输出参数存储过程(包括sql分页功能)
  6. 程序员被公司辞退12天,前领导要求回公司讲清楚代码,你们知道什么结果吗?
  7. Spring Boot 实现登录拦截器,这才是正确的姿势!!
  8. LeetBook《程序员的算法趣题》Q18---水果酥饼日
  9. pythondd_windows7下安装python环境和django
  10. Python批量提取Excel文件中的图片
  11. javascript的list循环
  12. php鼠标 显示图片,鼠标放在图片上显示大图的JS代码
  13. Prometheus监控(二)
  14. excel做ns流程图_NS流程图是什么图?用这款软件轻松画NS流程图
  15. 第三方rom 6.0刷机后,网络连接叹号处理方法
  16. Python网络爬虫中图片下载简单实现
  17. 3个月红酒上千万的营业额:新模式下的营销奥秘
  18. 大数据分析和大数据开发哪个好就业啊?
  19. 微信小程序访问后端服务器
  20. 调查结果:您使用什么.NET Framework功能?

热门文章

  1. 武汉区块链软件公司:区块链游戏和普通的游戏有什么区别?
  2. 山东青岛市南区:创建物联网 信息化管理涉案财物
  3. IOS_SearchBar搜索栏及关键字高亮
  4. Makefile的写法
  5. 分布式搜索ElasticSearch单机与服务器环境搭建
  6. nc65右键生成菜单_DbSchema生成表单和报表,原来如此简单
  7. java gui框架_推荐!程序员整理的Java资源大全
  8. docker wsl2启动不了_Docker学习笔记
  9. Css3: gradient背景渐变
  10. Windows下的HEAP溢出及其利用