下面是设置网络时的基本状况:

主机3个网卡:

eth0 192.168.0.1/24   内网

eth1 192.168.20.1/24  外网

eth2 192.168.50.1/24  会议室网络

ppp0  ( 设置为 eth1 上拨号上网)

DHCP设置:

192.168.0.1/24      { 192.168.0.100----192.168.0.200 }

192.168.50.1/24   {192.168.50.100---192.168.50.200 }

VPN设置:

localip:    192.168.10.1

remoteip:  192.168.10. 100    192.168.10.150

下面是firewall的具体设置:

[root@yujiagw ~]# cat firewall

#!/bin/sh
iptables -F
iptables -t nat -F
iptables -P FORWARD ACCEPT
iptables -X poweruser
iptables -X qquser
iptables -X httpuser

# NAT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 25 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 110 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 443
#iptables -t nat -A PREROUTING -p udp --dport 443 -j REDIRECT --to-port 443

# Port Forwarding
#iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 3389 -j DNAT --to 192.168.0.4:3389
#iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.0.4:80
#iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 8080 -j DNAT --to 192.168.50.2:8080
#iptables -A FORWARD -d 192.168.50.2 -p tcp --dport 8080 -j ACCEPT
#iptables -t nat -A POSTROUTING -d 192.168.50.2 -p tcp --dport 8080 -j SNAT --to 192.168.0.1

# Basic Port Open
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT

# VPN
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.10.0/24 -j ACCEPT

# Conference Room
iptables -A FORWARD -s 192.168.50.0/24 -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.50.0/24 -j ACCEPT

# Set Connect WAN
iptables -A FORWARD -d 192.168.50.0/24 -j ACCEPT

# HeQuanXin
#iptables -A FORWARD -m mac --mac-source 00:1A:6B:35:A5:66 -j ACCEPT
#iptables -A FORWARD -m mac --mac-source 44:D8:84:0A:9F:5D -j ACCEPT

#-----------------------------------PowerUser-------define------------------------

iptables -N poweruser

iptables -A poweruser  -j ACCEPT

#---------------------------------httpuser define-----------------

# Set Http User

iptables -N httpuser

iptables -A httpuser -p tcp --dport 53 -j ACCEPT

iptables -A httpuser -p udp --dport 53 -j ACCEPT

# Reject QQZone

iptables -A httpuser -d user.qzone.qq.com -j REJECT

iptables -A httpuser -p tcp --dport 80 -j ACCEPT

iptables -A httpuser -p udp --dport 80 -j ACCEPT

iptables -A httpuser -p tcp --dport 25 -j ACCEPT

iptables -A httpuser -p tcp --dport 110 -j ACCEPT

iptables -A httpuser -p tcp --dport 443 -j ACCEPT

iptables -A httpuser -p udp --dport 443 -j ACCEPT

iptables -A httpuser -j DROP

#-----------------------------------User-------start------------------------

# HeQuanXin

iptables -A FORWARD -m mac --mac-source 00:1A:6B:35:A5:66 -j httpuser

# xiangshude

iptables -A FORWARD -m mac --mac-source 00:E0:4C:41:49:C4 -j httpuser

# shiyayun

iptables -A FORWARD -m mac --mac-source C8:9C:DC:D2:55:7A -j poweruser

# chenmingxiang

iptables -A FORWARD -m mac --mac-source 54:04:A6:58:A3:EE -j poweruser

# wangxiaoping

iptables -A FORWARD -m mac --mac-source 00:B0:C4:04:A1:7E -j httpuser

# chengmeirong

iptables -A FORWARD -m mac --mac-source 90:2B:34:2D:E6:5B -j httpuser

# zhangyinbo

iptables -A FORWARD -m mac --mac-source 14:DA:E9:D2:3F:DF -j httpuser

# luxiaoxiong

iptables -A FORWARD -m mac --mac-source 90:2B:34:CB:31:EE -j httpuser

#-----------------------------------HTTPUser-------end--------------------------

#-----------------------------------------------------------------------------------

# Block Xunlei

iptables -A FORWARD -d 58.61.39.0/24 -j REJECT

iptables -A FORWARD -d 121.9.209.6 -j REJECT

iptables -A FORWARD -d 121.9.209.7 -j REJECT

iptables -A FORWARD -d 121.9.209.3 -j REJECT

iptables -A FORWARD -d 61.183.55.216 -j REJECT

iptables -A FORWARD -d 61.183.55.218 -j REJECT

iptables -A FORWARD -d 61.183.55.222 -j REJECT

iptables -A FORWARD -d 220.172.191.36 -j REJECT

iptables -A FORWARD -d 121.11.69.108 -j REJECT

iptables -A FORWARD -d 125.91.8.77 -j REJECT

iptables -A FORWARD -d 218.6.13.134 -j REJECT

iptables -A FORWARD -d 219.133.48.0/24 -j REJECT

iptables -A FORWARD -d 219.133.49.0/24 -j REJECT

iptables -A FORWARD -d 219.129.83.0/24 -j REJECT

iptables -A FORWARD -d 219.133.60.0/24 -j REJECT

iptables -A FORWARD -d 210.21.118.141 -j REJECT

iptables -A FORWARD -d 210.21.118.147 -j REJECT

iptables -A FORWARD -d 210.21.118.149 -j REJECT

iptables -A FORWARD -d 221.238.251.118 -j REJECT

iptables -A FORWARD -d 221.238.252.127 -j REJECT

iptables -A FORWARD -d 221.238.252.154 -j REJECT

iptables -A FORWARD -d 221.238.252.155 -j REJECT

iptables -A FORWARD -d 221.238.252.233 -j REJECT

iptables -A FORWARD -d 221.238.253.246 -j REJECT

iptables -A FORWARD -d 222.208.156.0/24 -j REJECT

iptables -A FORWARD -d 203.110.168.233 -j REJECT

iptables -A FORWARD -d 208.115.244.194 -j REJECT

iptables -A FORWARD -d 65.19.183.185 -j REJECT

#Block BT

iptables -A FORWARD -p tcp --dport 6880:6881 -j REJECT

iptables -A FORWARD -p udp --dport 6880:6881 -j REJECT

# Invalid connect drop

iptables -A FORWARD -m state --state INVALID -j DROP

# Accept the already establised connection

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Set the FORWARD chain to DENY

iptables -P FORWARD DROP

linux iptable 设置实践的更多相关文章

  1. 通过sed -i ,通过准备好的sh脚本,来设置linux iptable白名单

    通过准备好的sh脚本,来设置linux iptable白名单 特定字符串的行前插入新行 sed -i '/特定字符串/i 新行字符串' file #!/bin/bash del_stdin_buf() ...

  2. 【转载】Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载六)Linux的网络配置

    本篇是Linux小白最佳实践第6篇,目的就是让白菜们了解Linux网络是如何配置的.Linux系统在服务器市场占有很大的份额,尤其在互连网时代,要使用计算机就离不开网络. 想每天能听到小妞的语音播报, ...

  3. Linux及安全实践五——字符集编码

    Linux及安全实践五——字符集编码 一.ASCII码 在表中查找出英文字母LXQ相对应的十六进制数值为: 4c 58 51 在终端中输入命令:vim test1.txt 在vim页面输入命令:%!x ...

  4. linux IPtable防火墙 禁止和开放端口(转)

    linux IPtable防火墙 禁止和开放端口源:http://hi.baidu.com/zplllm/item/f910cb26b621db57c38d5983评: 1.关闭所有的 INPUT F ...

  5. Linux防火墙设置——iptables

    防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全.iptables是Linux下设置防火墙规则的常用工具,它可以让你设置.维护以及查看防火墙的规则表.你可以定义多个表,每个表可以包含 ...

  6. Linux scp 设置nohup后台运行

    Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继 ...

  7. Linux 权限设置chmod

    Linux中设置权限,一般用chmod命令 1.介绍 权限设置chmod 功能:改变权限命令.常用参数: 1=x(执行权execute) 2=w(写权write) 4=r(读权Read) setuid ...

  8. 在linux中设置静态ip地址

    在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...

  9. 第一种SUSE Linux IP设置方法

    第一种SUSE Linux IP设置方法ifconfig eth0 192.168.1.22 netmask 255.255.255.0 uproute add default gw 192.168. ...

随机推荐

  1. PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings.

    有三种解决办法: 1. php文件中设置时区 <?php date_default_timezone_set('Asia/Shanghai'); echo strtotime('2012-9-3 ...

  2. Floodlight 在 ChannelPipeline 图

    我们知道,在Netty架构,一个ServerBootstrap用于生成server端的Channel的时候都须要提供一个ChannelPipelineFactory类型的參数,用于服务于建立连接的Ch ...

  3. Spring IOC之依赖

    一个标准的企业级应用不只有一个对象组成.即使是最简单的引用也会有个相互作用的对象以使最终呈现 在用户面前的是个连贯一致的引用. 1依赖注入 依赖注入(DI)是一个对象定义他们依赖的过程,也就是说他们一 ...

  4. SQL Server 性能调优 之运行计划(Execution Plan)调优

    运行计划中的三种 Join 策略 SQL Server 存在三种 Join 策略:Hash Join,Merge Join,Nested Loop Join. Hash Join:用来处理没有排过序/ ...

  5. Linux解决:svn: Can&#39;t connect to host &#39;*.*.*.*&#39;: 因为连接的方没有正确回答或连接在以后的时间

    svn服务启动,在server在可使用命令将文件检查,但它不能检测其他计算机.已经提出: "svn: Can't connect to host '*.*.*.*': 因为连接方在一段时间后 ...

  6. [翻译]初识SQL Server 2005 Reporting Services Part 4

    原文:[翻译]初识SQL Server 2005 Reporting Services Part 4 这一篇是关于SQL Server 2005 Reporting Services四篇文章中最后一篇 ...

  7. Android项目---语言适配

    android多国语言文件夹 android多国语言文件夹文件汇总如下:(有些语言的书写顺序可能跟中文是相反的) 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中 ...

  8. Xamarin.Android

    Xamarin.Android之使用百度地图起始篇 一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库的 ...

  9. java入门学习(十二)运算语句 if switch

    这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,b ...

  10. HttpRuntime详解分析

    HttpRuntime详解分析(上) 文章内容 从上章文章都知道,asp.net是运行在HttpRuntime里的,但是从CLR如何进入HttpRuntime的,可能大家都不太清晰.本章节就是通过深入 ...