博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写iptables脚本实现IP地址、端口过滤
阅读量:5950 次
发布时间:2019-06-19

本文共 1252 字,大约阅读时间需要 4 分钟。

实验案例:公司使用一台运行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.  
  4. iptables -t nat -F   
  5. iptables -F  
  6.  
  7. iptables -P INPUT DROP 
  8. iptables -P FORWARD DROP 
  9.  
  10. iptables -A INPUT -p tcp -m multiport --dport 21,25,80,110,143 -j ACCEPT  
  11.  
  12. iptables -A INPUT -p tcp --dport 22 -s 201.12.13.14 -j ACCEPT  
  13.  
  14. iptables -A INPUT -p tcp --dport 22 -m limit --limit 4/hour -j LOG  
  15.  
  16. iptables -A INPUT -p tcp --dport 22 -s 192.168.1.5 -m mac --mac-source 00:0C:27:30:4E:5D -j ACCEPT  
  17.  
  18. iptables -A INPUT -p tcp --dport 3128 -s 192.168.1.0/24 -j ACCEPT  
  19.  
  20. iptables -A FORWARD -p udp --dport 53 -s 192.168.1.0/24 -j ACCEPT  
  21. iptables -A FORWARD -p udp --sport 53 -d 192.168.1.0/24 -j ACCEPT  
  22.    
  23.  

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

# vi /etc/sysctl.conf

net . ipv4 .ip_forward = 1

本文转自 kk5234 51CTO博客,原文链接:http://blog.51cto.com/kk5234/397029,如需转载请自行联系原作者
你可能感兴趣的文章
AAuto如何设置定时器
查看>>
idea Error:(1, 10) java: 需要class, interface或enum, 未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533...
查看>>
Java Code Examples for org.apache.ibatis.annotations.Insert
查看>>
为linux扩展swap分区
查看>>
python \uxxxx转中文,Python列表中的字典 \uxxxx转中文,
查看>>
tomcat配置访问项目时不需要加项目名称
查看>>
转JMeter 利用Jmeter批量数据库插入数据
查看>>
在多模块开发的时候,利用项目继承可以将结构信息、部署信息,将共同的依赖放在一个父类中。...
查看>>
[原创] IAR7.10安装注册教程
查看>>
Java图像渐变
查看>>
解决ios下的微信打开的页面背景音乐无法自动播放(转载)
查看>>
fidder设置断点,修改请求参数等
查看>>
Material Design之RecyclerView的使用(一)
查看>>
系统编程是什么
查看>>
git rebase简介(基本篇)
查看>>
Backup and Recovery Basics1
查看>>
C语言各种keyword
查看>>
Rescue
查看>>
1775. [国家集训队2010]小Z的袜子
查看>>
前端学习 -- Html&Css -- 表单
查看>>