用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. SP705 SUBST1 - New Distinct Substrings

    \(\color{#0066ff}{ 题目描述 }\) 给定一个字符串,求该字符串含有的本质不同的子串数量. \(\color{#0066ff}{输入格式}\) T- number of test c ...

  2. P4014 分配问题

    \(\color{#0066ff}{题目描述}\) 有 \(n\) 件工作要分配给 \(n\) 个人做.第 \(i\) 个人做第 \(j\) 件工作产生的效益为 \(c_{ij}\) .试设计一个将 ...

  3. C++基础学习7:new/delete操作符

    在C语言中,动态分配和释放内存的函数是malloc.calloc和free,而在C++语言中,new.new[].delete和delete[]操作符通常会被用来动态地分配内存和释放内存. 需要注意的 ...

  4. CF352A Jeff and Digits

    Jeff's got n cards, each card contains either digit 0, or digit 5. Jeff can choose several cards and ...

  5. 洛谷P3507 [POI2010]GRA-The Minima Game

    题目描述 Alice and Bob learned the minima game, which they like very much, recently. The rules of the ga ...

  6. 2015苏州大学ACM-ICPC集训队选拔赛(2) 1001 1003 1010

    草爷要的榜 Problem Description 苏州大学代表队又勤奋地开始了训练.今天开了一场时长5小时的组队训练赛,苏州大学的n(1<=n<=100)支校队奋力拼(hua)搏(shu ...

  7. Linux内核硬件访问技术

    ① 驱动程序控制设备,主要是通过访问设备内的寄存器来达到控制目的.因此我们讨论如何访问硬件,就成了如何访问这些寄存器. ② 在Linux系统中,无论是内核程序还是应用程序,都只能使用虚拟地址,而芯片手 ...

  8. 两个数据库通过DataTable实现差异传输

    两个主要方法 /// <summary>/// 用途:/// 用源表和目标表比较,返回差异的数据(目标表为参照物)/// /// 逻辑:/// 1.合并两个表/// 2.循环合并后得到的表 ...

  9. python3 logging笔记

    #coding:utf-8import logging logger = logging.getLogger("simple_example")#可以说是日志信息的名字吧,可以随便 ...

  10. jinkens 检查svn更新就构建

    以下的配置就是,svn上的文件一旦有变动,一分钟后就会触发jinkens的job(构建)