linux iptable 设置实践
下面是设置网络时的基本状况:
主机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 设置实践的更多相关文章
- 通过sed -i ,通过准备好的sh脚本,来设置linux iptable白名单
通过准备好的sh脚本,来设置linux iptable白名单 特定字符串的行前插入新行 sed -i '/特定字符串/i 新行字符串' file #!/bin/bash del_stdin_buf() ...
- 【转载】Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载六)Linux的网络配置
本篇是Linux小白最佳实践第6篇,目的就是让白菜们了解Linux网络是如何配置的.Linux系统在服务器市场占有很大的份额,尤其在互连网时代,要使用计算机就离不开网络. 想每天能听到小妞的语音播报, ...
- Linux及安全实践五——字符集编码
Linux及安全实践五——字符集编码 一.ASCII码 在表中查找出英文字母LXQ相对应的十六进制数值为: 4c 58 51 在终端中输入命令:vim test1.txt 在vim页面输入命令:%!x ...
- linux IPtable防火墙 禁止和开放端口(转)
linux IPtable防火墙 禁止和开放端口源:http://hi.baidu.com/zplllm/item/f910cb26b621db57c38d5983评: 1.关闭所有的 INPUT F ...
- Linux防火墙设置——iptables
防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全.iptables是Linux下设置防火墙规则的常用工具,它可以让你设置.维护以及查看防火墙的规则表.你可以定义多个表,每个表可以包含 ...
- Linux scp 设置nohup后台运行
Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继 ...
- Linux 权限设置chmod
Linux中设置权限,一般用chmod命令 1.介绍 权限设置chmod 功能:改变权限命令.常用参数: 1=x(执行权execute) 2=w(写权write) 4=r(读权Read) setuid ...
- 在linux中设置静态ip地址
在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...
- 第一种SUSE Linux IP设置方法
第一种SUSE Linux IP设置方法ifconfig eth0 192.168.1.22 netmask 255.255.255.0 uproute add default gw 192.168. ...
随机推荐
- linux下mysql的远程连接
在服务器上安装mysql后,想使用本地的mysql客户端连接数据库时,提示不允许连接,比较郁闷,找到了这篇文章解决了我的问题: 内容如下: 本地计算机ip:192.168.1.100远程计算机ip:1 ...
- 实现一个简单的Unity3D三皮卡——3D Picking (1)
3D Picking 其原理是从摄像机位置到空间发射的射线.基于光线碰到物体回暖. 这里我们使用了触摸屏拿起触摸,鼠标选择相同的原理,仅仅是可选API不同. 从unity3D官网Manual里找到下面 ...
- 快速构建Windows 8风格应用35-触控输入
原文:快速构建Windows 8风格应用35-触控输入 引用 Windows 8设备通常具有多点触摸屏,用户可以同时使用多个手指来进行不同的输入交互,如点击.拖动或收缩等手势操作.另外Windows ...
- C#通过系统API判断已经连接互联网
win32 API函数的做法: 要用的函数:InternetGetConnectedState 函数原形:BOOL InternetGetConnectedState(LPDWORD lp ...
- .NET程序保护专家.NET Reactor发布4.7版本
.NET Reactor是一款功能强大的代码保护以及许可授权管理系统. 关于代码混淆,针对.NET程序程序而言,.NET Reactor保护的程序目前还没有被破解过.这与.NET Reactor的保护 ...
- 折腾源WRT的AC路无线路由-2
在创纪录的开箱图,开箱后,我觉得大尺寸,因此,获得一些各种尺寸,喜欢网上购物的参考.也许这,安装后,它占用的大小:基本长度=28.5cm.深度=19.5cm,高=19.5,因为制造商推荐的约两个天线是 ...
- 【Web.xml配置具体解释之context-param
】
转自:http://blog.csdn.net/liaoxiaohua1981/article/details/6759206 格式定义: [html] view plaincopy <cont ...
- 转: js快速分享代码
这是一款简单易用的文章分享工具,您只需将下面的html代码拷贝到模板中就可以实现文章快速分享功能.如果您想分享你的博客.个人网站或者企业网站等等,下面是两款不错的分享工具,值得拥有! 1. [html ...
- AjaxPro实现无刷新更新数据
使用AjaxPro实现无刷新更新数据 需求 在一个页面动态无刷新的更新后台得到的数据.要想无刷新的更新数据,需要使用Javascript能够获取后台返回的数据,然后通过第三方Javascript库(J ...
- windows下grunt安装提示不成功
在电脑按了node.js之后,在cmd中 输入 npm install -g grunt-cli 注意啦 不是 npm install -g grunt-cli 中间多了一个空格就安装不成功了,这个空 ...