急救!!超级小白求助关于iptables!!!(已有好人解决!)

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
qq126512306
帖子: 339
注册时间: 2007-08-31 9:17

急救!!超级小白求助关于iptables!!!(已有好人解决!)

#1

帖子 qq126512306 » 2009-08-21 12:35

一片文章中看到关于DNS端口打开用
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 53 -j ACCEPT
iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 53 -j ACCEPT
另一篇文章看到则用
iptables -A INPUT -i eth1 -p udp -sport 53 -j ACCEPT
望指教下有什么区别为什么上面的既有sport又有dport?分别代表什么意思
还有为什么上面的是用output 下面的使用input
为什么上面有tcp,udp 下面只有udp即可~
诚心求教!麻烦各位多指教!初学者诚心恳求贵人浪费一点点时间指教!感激不尽!
上次由 qq126512306 在 2009-08-22 10:03,总共编辑 1 次。
yuu1010
帖子: 185
注册时间: 2008-04-11 23:31

Re: 急救!!超级小白求助关于iptables!!!

#2

帖子 yuu1010 » 2009-08-21 12:38

建议goolge一下iptables的用法
头像
qq126512306
帖子: 339
注册时间: 2007-08-31 9:17

Re: 急救!!超级小白求助关于iptables!!!

#3

帖子 qq126512306 » 2009-08-21 12:52

yuu1010 写了:建议goolge一下iptables的用法
有好多 也不是很明白啊~
上面几个问题您懂吗?望指教!
yuu1010
帖子: 185
注册时间: 2008-04-11 23:31

Re: 急救!!超级小白求助关于iptables!!!

#4

帖子 yuu1010 » 2009-08-21 13:00

qq126512306 写了:
yuu1010 写了:建议goolge一下iptables的用法
有好多 也不是很明白啊~
上面几个问题您懂吗?望指教!
我以前自学了一下,长时间没碰都忘了。
下面写的是记得的 :em06
sport是source port(源端口)
dport是destination port(目的端口)

INPUT,OUTPUT是叫链还是什么,我忘了

tcp,udp是网络协议
头像
qq126512306
帖子: 339
注册时间: 2007-08-31 9:17

Re: 急救!!超级小白求助关于iptables!!!

#5

帖子 qq126512306 » 2009-08-21 13:12

yuu1010 写了:
qq126512306 写了:
yuu1010 写了:建议goolge一下iptables的用法
有好多 也不是很明白啊~
上面几个问题您懂吗?望指教!
我以前自学了一下,长时间没碰都忘了。
下面写的是记得的 :em06
sport是source port(源端口)
dport是destination port(目的端口)

INPUT,OUTPUT是叫链还是什么,我忘了

tcp,udp是网络协议
sport是source port(源端口)
dport是destination port(目的端口)分别代表什么 为什么有些地方用sport 有些用dport?
像下面那个直接用sport,而dport用都没用~
头像
qq126512306
帖子: 339
注册时间: 2007-08-31 9:17

Re: 急救!!超级小白求助关于iptables!!!

#6

帖子 qq126512306 » 2009-08-21 13:50

求助求助~~~顶顶~ :em06
angelus
帖子: 445
注册时间: 2007-08-27 17:31

Re: 急救!!超级小白求助关于iptables!!!

#7

帖子 angelus » 2009-08-21 19:52

sport,dport都是匹配条件

OUTPUT,INPUT是filter表的链

OUTPUT管理本机出站的包,为了能让本机访问其他机器的DNS服务,需要让发往外边53端口包通过,转化为规则就是
--dport 53 (目标为53端口,前边的--sport写的没有必要,除非你要限制特定程序才能访问外边53端口)
因为要匹配端口,所以需要指明协议,而跟端口有关的协议为tcp,udp。所以转化为规则为
-p tcp 或 -p udp

因为DNS服务开放的53端口,可以同时连接两种协议,所以写个两次规则,区别就是-p 后边的参数

INPUT管理外来进入本机的包,为了能让外边DNS服务发出的回应包能进入本机就要开放来源端口为53的包,转化规则
--sport 53

一般来说DNS默认使用UDP通信,所以只需要匹配UDP协议就可以了,不需要匹配TCP类型的。

通过端口可以确定使用的应用程序,比如53端口对应DNS服务,80对应WEB服务,如果--sport 53匹配上了,那么可以确定发过来的包是DNS程序。

-o eth1 是出站的网卡名称。
-i eth1 是进站的网卡名称。
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
头像
qq126512306
帖子: 339
注册时间: 2007-08-31 9:17

Re: 急救!!超级小白求助关于iptables!!!

#8

帖子 qq126512306 » 2009-08-21 20:03

angelus 写了:sport,dport都是匹配条件

OUTPUT,INPUT是filter表的链

OUTPUT管理本机出站的包,为了能让本机访问其他机器的DNS服务,需要让发往外边53端口包通过,转化为规则就是
--dport 53 (目标为53端口,前边的--sport写的没有必要,除非你要限制特定程序才能访问外边53端口)
因为要匹配端口,所以需要指明协议,而跟端口有关的协议为tcp,udp。所以转化为规则为
-p tcp 或 -p udp

因为DNS服务开放的53端口,可以同时连接两种协议,所以写个两次规则,区别就是-p 后边的参数

INPUT管理外来进入本机的包,为了能让外边DNS服务发出的回应包能进入本机就要开放来源端口为53的包,转化规则
--sport 53

一般来说DNS默认使用UDP通信,所以只需要匹配UDP协议就可以了,不需要匹配TCP类型的。

通过端口可以确定使用的应用程序,比如53端口对应DNS服务,80对应WEB服务,如果--sport 53匹配上了,那么可以确定发过来的包是DNS程序。
万分感谢!!!回答的很详尽!
就是说上面两条 其实可以写成iptables -A OUTPUT -o eth1 -p UDP --dport 53 -j ACCEPT一条,可以把--sport的去掉也没影响,对吗?
而要达到开放一个端口的目的的话,即可以用input也可以用output,对吗?就是说 其实
iptables -A OUTPUT -o eth1 -p UDP --dport 53 -j ACCEPT
iptables -A INPUT -i eth1 -p udp -sport 53 -j ACCEPT 这两条是一样的,只要选择其一就可以了,是不?
望指教!!感激感激!
angelus
帖子: 445
注册时间: 2007-08-27 17:31

Re: 急救!!超级小白求助关于iptables!!!

#9

帖子 angelus » 2009-08-21 20:10

两条是不一样的
iptables -A OUTPUT -o eth1 -p udp --dport 53 -j ACCEPT
意思是允许发往外网53端口的包可以通过
iptables -A INPUT -i eth1 -p udp -sport 53 -j ACCEPT
意思是允许外网DNS发的回应包可以进入本机

比如,你想吃份快餐,让机器人出去买,就需要它可以出门,买到快餐后,就必须允许它进门。
缺少任何一个必须,你都不要想吃到!
而端口的限制,就是让机器人必须是买快餐才可以出门,买到的是快餐,才可以进门,买其他的不允许!

另外,--sport 只是为了确定这个包究竟是什么程序产生的
--dport是为了确定这个包究竟是要发往那个程序的
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
头像
qq126512306
帖子: 339
注册时间: 2007-08-31 9:17

Re: 急救!!超级小白求助关于iptables!!!

#10

帖子 qq126512306 » 2009-08-21 20:17

angelus 写了:两条是不一样的
iptables -A OUTPUT -o eth1 -p udp --dport 53 -j ACCEPT
意思是允许发往外网53端口的包可以通过
iptables -A INPUT -i eth1 -p udp -sport 53 -j ACCEPT
意思是允许外网DNS发的回应包可以进入本机

比如,你想吃份快餐,让机器人出去买,就需要它可以出门,买到快餐后,就必须允许它进门。
缺少任何一个必须,你都不要想吃到!
而端口的限制,就是让机器人必须是买快餐才可以出门,买到的是快餐,才可以进门,买其他的不允许!
好形象!!理解了!那就是说我们设置iptables的时候需要把两条都写里面了?
但为什么我看一些入门教程说 打开dns端口只写了
iptables -A INPUT -i eth1 -p udp -sport 53 -j ACCEPT
或者iptables -A OUTPUT -o eth1 -p udp --dport 53 -j ACCEPT

那我们设置端口的时候要怎么写~请教下!
angelus
帖子: 445
注册时间: 2007-08-27 17:31

Re: 急救!!超级小白求助关于iptables!!!

#11

帖子 angelus » 2009-08-21 20:24

你可以实际测试下
将两条链的默认规则设置为DORP
然后只开放OUTPUT的53端口包可以出去,然后打开网业,你会发现要等很长时间,然后得到一个超时
或者只开放INPUT链的53端口包可以近来,同样的情况

前种情况是,你得不到DNS服务器给你解析的IP地址
后种情况是,你根本就发不出去请求解析的包

一般教程上都是片面的说的!
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
angelus
帖子: 445
注册时间: 2007-08-27 17:31

Re: 急救!!超级小白求助关于iptables!!!

#12

帖子 angelus » 2009-08-21 20:30

50384665
你还是加群吧
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
回复