用Centos架设了一台pptpd vpn服务器,信息如下:

服务器IP 192.168.100.1 /24

网关   192.168.100.254(NAT防火墙,将 <外网IP>:1723 映射到 192.168.100.1:1723)

客户端IP地址分配范围 192.168.100.101 ~ 250

基本iptables设置:

-A INPUT -p gre -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT

但我还希望用iptables做一些包过滤,允许所有客户端IP访问内网80端口,但只允许某些客户端IP访问其他端口。

看了好多网文,基本确定需要使用 FORWAD CHAIN,但尝试了很多配置方法后,效果或者是全部IP 能访问全部端口,或者是全部端口都无法访问。

在全部端口都无法访问的情况下,使用  'iptables -L -v -n' 指令发现,好多包符合要求通过了,但最后都被DROP,恍悟:只配置了入站,没有配出站,数据包有去无回呀 O_O

以下是完整的iptables

[root@vpnserver ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited

-I FORWARD -p icmp -j ACCEPT

-I FORWARD -i ppp+ -o eth0 -p tcp -s 192.168.100.0/24 -d 192.168.100.0/24 --dport 80 -j ACCEPT
-I FORWARD -o ppp+ -i eth0 -p tcp -d 192.168.100.0/24 -s 192.168.100.0/24 --sport 80 -j ACCEPT

-I FORWARD -i ppp+ -o eth0 -p tcp -s 192.168.100.201/32 -d 192.168.100.0/24 -m multiport --dport 22,80,1433,3306,3389,8080 -j ACCEPT
-I FORWARD -o ppp+ -i eth0 -p tcp -d 192.168.100.201/32 -s 192.168.100.0/24 -m multiport --sport 22,80,1433,3306,3389,8080 -j ACCEPT

-I FORWARD -i ppp+ -o eth0 -p tcp -s 192.168.100.202/32 -d 192.168.100.0/24 -m multiport --dport 22,80,1433,3306,3389,8080 -j ACCEPT
-I FORWARD -o ppp+ -i eth0 -p tcp -d 192.168.100.202/32 -s 192.168.100.0/24 -m multiport --sport 22,80,1433,3306,3389,8080 -j ACCEPT

-I FORWARD -i ppp+ -o eth0 -p tcp -s 192.168.100.203/32 -d 192.168.100.0/24 -m multiport --dport 22,80,1433,3306,3389,8080 -j ACCEPT
-I FORWARD -o ppp+ -i eth0 -p tcp -d 192.168.100.203/32 -s 192.168.100.0/24 -m multiport --sport 22,80,1433,3306,3389,8080 -j ACCEPT

-I FORWARD -i ppp+ -o eth0 -p tcp -s 192.168.100.204/32 -d 192.168.100.0/24 -m multiport --dport 22,80,1433,3306,3389,8080 -j ACCEPT
-I FORWARD -o ppp+ -i eth0 -p tcp -d 192.168.100.204/32 -s 192.168.100.0/24 -m multiport --sport 22,80,1433,3306,3389,8080 -j ACCEPT

-I FORWARD -i ppp+ -o eth0 -p tcp -s 192.168.100.205/32 -d 192.168.100.0/24 -m multiport --dport 1433,3389 -j ACCEPT
-I FORWARD -o ppp+ -i eth0 -p tcp -d 192.168.100.205/32 -s 192.168.100.0/24 -m multiport --sport 1433,3389 -j ACCEPT

-P FORWARD DROP
COMMIT

Linux pptpd 的 iptables 包过滤设置的更多相关文章

  1. linux系统中查看己设置iptables规则

    1.iptables -L 查看filter表的iptables规则,包括所有的链.filter表包含INPUT.OUTPUT.FORWARD三个规则链. 说明:-L是--list的简写,作用是列出规 ...

  2. linux下通过iptables只允许指定ip地址访问指定端口的设置方法

    这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的 ...

  3. [转] Linux下防火墙iptables用法规则详及其防火墙配置

    from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...

  4. 【原创】Linux基础之iptables

    iptables 1.4.21 官方:https://www.netfilter.org/projects/iptables/index.html iptables is the userspace ...

  5. [iptables]iptables常规设置

    转自:http://leil.plmeizi.com/archives/centos-iptables%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95%E8%BD%AC/ 关闭 ...

  6. Linux操作系统下IPTables配置方法详解

    如果你的IPTABLES基础知识还不了解,建议先去看看. 们来配置一个filter表的防火墙 1.查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Cha ...

  7. Linux下防火墙iptables用法规则详及其防火墙配置

    转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...

  8. linux下防火墙iptables原理及使用

    iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火 ...

  9. Linux操作系统下IPTables配置

    filter表的防火墙 1.查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target pro ...

随机推荐

  1. 前三次OO作业总结

    一.作业总结 前三次的任务都是表达式求导.这是我在高中就思考过的问题,但是很久都没有付诸实践,直到学习了"类"这个强大的工具.还有正则表达式,如果能适当使用,则不失为一个字符串格式 ...

  2. FPGA实战操作(1) -- SDRAM(操作说明)

    SDRAM是做嵌入式系统中,常用是的缓存数据的器件.基本概念如下(注意区分几个主要常见存储器之间的差异): SDRAM(Synchronous Dynamic Random Access Memory ...

  3. redis之常用Set和ZSet命令

    redis五种数据类型:String,Hash,List,Set,ZSet.五种数据类型各有优点,各司其职.最后两种数据类型Set和ZSet基本上是一种,ZSet就是给Set加了个排序而已(相当于加了 ...

  4. 【Ant】How to print all the system properties in Ant build file

    在Ant里可以使用echoproperties task来达到目的 <target name="run"> <echoproperties /> </ ...

  5. Hibernate上传数据到数据库,从数据库读取数据到本地模板代码

    1.Hibernate上传数据到数据库: //创建一个session对象 Session session1=HibernateTools.getSession(); //Fenciresult数据库表 ...

  6. Django 12 中间件、上下文处理器和admin后台

    Django 12 中间件.上下文处理器和admin后台 一.中间件 #Django中间件 (Middleware) # 一个轻量级.底层的“插件”系统,可以介入Django的请求和响应处理过程,修改 ...

  7. postfix 实现邮件发送 配置

    1.安装postfix 使用 rpm –qa postfix检查是否安装了postfix,如果没有,使用yum install postfix. 2 .配置/etc/postfix/main.cf [ ...

  8. CF 给你三个数字L, R, K,问在[L, R]范围内有多少个数字满足它每一位不同数字不超过k个,求出它们的和(数位DP)

    题意: 给你三个数字L, R, K,问在[L, R]范围内有多少个数字满足它每一位不同数字不超过k个,求出它们的和 分析:考虑用状态压缩 , 10给位0~9 , 如果之前出现过了某个数字x ,那就拿当 ...

  9. POJ 3686 *最小费用流-转化成普通指派问题)

    题意] 有N个订单和M个机器,给出第i个订单在第j个机器完成的时间Mij,每台机器同一时刻只能处理一个订单,机器必须完整地完成一个订单后才能接着完成下一个订单.问N个订单完成时间的平均值最少为多少. ...

  10. HDU计算机学院大学生程序设计竞赛(2015’12)Happy Value

    Problem Description In an apartment, there are N residents. The Internet Service Provider (ISP) want ...