免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: platinum
打印 上一主题 下一主题

2 小时玩转 iptables 讲义企业版 v1.5.4(PDF + ISO + 录音) [复制链接]

论坛徽章:
0
231 [报告]
发表于 2006-09-04 16:52 |只看该作者
请教白金,那个测试工具中的文件是不是都不可写入,另外默认只有eth0的话,如何用来练习iptables呢?难道只能练习语法看看有没有错吗?能否提点一二。
还有,我的nat服务器已经工作了一段时间,但是公司其他员工想要用内网的机器做一些其他服务,打算把内网服务器映射出去。但是因为我的规则定的很严(默认filter链的input和forward都是drop,nat到都是accept的),感觉如果在原有基础上配起来会牵连很多,策略混乱的很……能否给外网网卡新加ip(或者不用新加,直接dnat到新的ip上就可以吗?),然后把这台内网服务器的ip映射到新的公网ip上呢?我测试了多次都没成功,打算这次好好看看你的教材再试试(本来觉得自己对iptables理解的挺深刻了,后来发现还差得远,只是对filter表的理解还凑合,nat表以及snat、dnat和各种跳转条件理解的都还差得远)……真是郁闷……

论坛徽章:
0
232 [报告]
发表于 2006-09-04 18:57 |只看该作者
要好好学习下才可以了

论坛徽章:
0
233 [报告]
发表于 2006-09-04 22:28 |只看该作者
请教白金,那个测试工具中的文件是不是都不可写入,另外默认只有eth0的话,如何用来练习iptables呢?难道只能练习语法看看有没有错吗?能否提点一二。

你可以给虚拟机添加多个网卡,那样就有 eth1、eth2 等等了啊
另外,就算只有一个 eth0,也让然可以做 DNAT、SNAT 和 MASQUERADE 的啊,单臂路由就是这样的

你的需求我看的不是很明白,你可以把你的需求和现有规则(iptables-save)贴出来看一下

论坛徽章:
0
234 [报告]
发表于 2006-09-05 10:37 |只看该作者
# Generated by iptables-save v1.2.11 on Tue Sep  5 10:19:04 2006
*filter
:INPUT DROP [170116:13325405]
:FORWARD DROP [733792:429318152]
:OUTPUT ACCEPT [10254:2192484]
-A INPUT -s 192.168.10.46 -i eth0 -j ACCEPT
-A INPUT -s 192.168.10.251 -i eth0 -j ACCEPT
-A INPUT -s 192.168.10.241 -i eth0 -j ACCEPT
-A INPUT -s 192.168.10.3 -i eth0 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -s 192.168.10.15 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.46 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.9 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.10 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.11 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.12 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.13 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.17 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.19 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.20 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.22 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.23 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.24 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -d 192.168.10.24 -m limit --limit 96/sec --limit-burst 192 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.10.26 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.27 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.28 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.29 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.30 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.31 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.32 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.33 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.35 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.37 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.38 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.39 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.40 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.41 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.42 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.43 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.45 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.49 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.62 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.70 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.74 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.75 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.76 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.77 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.78 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.79 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.80 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.82 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.83 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.87 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.88 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.92 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.99 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.101 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.113 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.114 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.119 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.121 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.125 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -d 192.168.10.125 -m limit --limit 128/sec --limit-burst 192 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.10.131 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.134 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.151 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.163 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.166 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.167 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.173 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.178 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.183 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.193 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.195 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.199 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.200 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.209 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.216 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.233 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.239 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.240 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.241 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.246 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.251 -m limit --limit 96/sec --limit-burst 192 -j ACCEPT
-A FORWARD -s 192.168.10.160 -j ACCEPT
-A FORWARD -s 192.168.10.205 -j ACCEPT
-A FORWARD -s 192.168.10.234 -j ACCEPT
-A FORWARD -s 192.168.10.238 -j ACCEPT
-A FORWARD -s 192.168.10.247 -j ACCEPT
-A FORWARD -d 192.168.10.0/255.255.255.0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 169.254.0.0/255.255.0.0 -j DROP
-A OUTPUT -s 169.254.0.0/255.255.0.0 -j DROP
COMMIT
# Completed on Tue Sep  5 10:19:04 2006
# Generated by iptables-save v1.2.11 on Tue Sep  5 10:19:04 2006
*nat
REROUTING ACCEPT [441089:37705425]
OSTROUTING ACCEPT [8:528]
:OUTPUT ACCEPT [8:528]
-A POSTROUTING -s 192.168.10.0/255.255.255.0 -o eth1 -j MASQUERADE
COMMIT
# Completed on Tue Sep  5 10:19:04 2006

需求就是把内网的10.241的某些端口映射到外部某个ip,比如2xx.xxx.xxx.59。我试过多次总是有问题:
iptables -t nat -I PREROUTING -d 2*.*.*.59 -p tcp --dport 80 -j DNAT --to 192.168.10.241:80
iptables -t nat -I POSTROUTING -d 192.168.*.241 -p tcp --dport 80 -j SNAT --to 2*.*.*.59:80
iptables -I FORWARD -d 192.168.10.241 -j ACCEPT
iptables -I FORWARD -d 2*.*.*.59 -j ACCEPT
结果不行……后来怕是因为80服务有其他因素影响,改用3389端口做实验还是没成功……
另外还有个奇怪的事情,我的路由表老是有169.254.0.0/16段的地址,可以看到我已经禁止这个地址的转发了,但是我从交换机的ip表里面还是可以看到169.254.*.*的ip从连接nat服务器的端口出来,怪异!

论坛徽章:
0
235 [报告]
发表于 2006-09-05 18:26 |只看该作者

有这样的好人,中国的it才会进步!

谢谢!

论坛徽章:
0
236 [报告]
发表于 2006-09-06 11:42 |只看该作者

顶一下
谢谢白金

论坛徽章:
0
237 [报告]
发表于 2006-09-06 15:38 |只看该作者
请问白金,我是应该通过加规则
/sbin/iptables -t nat -I POSTROUTING -o eth0 -d ! 192.168.10.0/24 -j DROP
还是
/sbin/iptables -I FORWARD -o eth0 -d ! 192.168.10.0/24 -j DROP
来防止非192.168.10.0网段的地址对内网的访问?
我从内网的交换机中看到有大量的无用或者说非法的ip通过nat服务器连进网来……郁闷死了
IP Address         Port
---------------    ----
59.64.193.142      19
169.254.30.175     19
169.254.66.7       19
169.254.70.138     19
169.254.95.172     19
169.254.120.4      19
169.254.137.240    19
169.254.158.20     19
169.254.192.127    19
169.254.240.203    19
169.254.252.64     19
192.168.0.35       19
192.168.0.81       19
192.168.0.124      19
注:我的nat服务器连接在19端口上,现在好多的莫名其妙的ip显示在交换机上,而nat本身的内网地址是192.168.10.254

[ 本帖最后由 iamshiyu 于 2006-9-6 16:09 编辑 ]

论坛徽章:
0
238 [报告]
发表于 2006-09-07 11:37 |只看该作者
这样试试
iptables -I FORWARD -d 192.168.10.0/24 -m state --state NEW -j DROP

论坛徽章:
0
239 [报告]
发表于 2006-09-07 15:48 |只看该作者
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -d 192.168.10.0/24 -j ACCEPT
我的脚本有这么一句,这样的效果不一样么?我现在搞不清这是怎么引起的,导致交换机里显示连接nat服务器的端口有很多ip的访问……
还有请问我那个映射的问题你觉得我加的规则有问题么?若是没有我就再找找其他原因了……还有就是如果要作端口映射的话,是否内网机器的网关必须指向nat服务器呢?如果不是我想在其他机器上做试验而不是主nat服务器上试验。

论坛徽章:
0
240 [报告]
发表于 2006-09-07 16:12 |只看该作者
不好说,可能要抓包来分析才知道了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP