免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: kenduest

[网络管理] Linux iptables firewall 設定常見 FAQ 整理 (最近更新時間:11/20/2006) [复制链接]

论坛徽章:
0
发表于 2006-08-18 09:23 |显示全部楼层
原帖由 hjzhang 于 2006-8-18 08:49 发表
刚才用debian试验了一下,还是只需要
iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
就可以正常的由外面连接到服务器的ssh服务了。

这很正常,因为你可以允许连进来,而出去的在 OUTPUT 里,若 OUTPUT 没限制,当然可以咯
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT 只是让自己连出去的数据可以回流,这里不要混淆

论坛徽章:
0
发表于 2006-08-18 09:31 |显示全部楼层
原帖由 kenduest 于 2006-8-18 09:08 发表
對, 外面可以連進來, 請考慮的是你要主動連外面的連線, 甚至包含 FTP 的被動連線模式的問題.

這樣吧.


  1. iptables -F
  2. iptables -X
  3. iptables -P INPUT DROP
  4. iptables -P OUTPUT ACCCEPT
复制代码


...

你的这个是对的,这种方式下面没有你说的那句话,那肯定是进不来的。
我主要觉得你在文章里面描述的不清楚。或者说放在和ssh服务一起说让人混淆了。

论坛徽章:
0
发表于 2006-08-18 09:31 |显示全部楼层
老了,理解能力差了,呵呵

论坛徽章:
0
发表于 2006-08-18 11:06 |显示全部楼层
原帖由 hjzhang 于 2006-8-18 09:31 发表
你的这个是对的,这种方式下面没有你说的那句话,那肯定是进不来的。
我主要觉得你在文章里面描述的不清楚。或者说放在和ssh服务一起说让人混淆了。


我接受你的这建议,描述是需要更明确。

我已经有修改这描述部分了。

==

[ 本帖最后由 kenduest 于 2006-8-18 11:15 编辑 ]

论坛徽章:
0
发表于 2006-08-19 15:09 |显示全部楼层
不过上面规则通常应该考虑的是,主机本身对外只有提供可以连结存取port 22 该 ssh 服务,但是若是自己主机有开 port 80 与 port 25 等  服务项目的话,这样配置却也导致自己存取自己的主机服务也被限制住了。

基于该问题,一般会建议加上由 loopback interface 该介面不受到该 firewall 组态限制而被阻挡

我怎么不加回环也可以 啊?
请楼住指教.

论坛徽章:
0
发表于 2006-08-20 01:09 |显示全部楼层
原帖由 怪怪虎 于 2006-8-19 15:09 发表
我怎么不加回环也可以 啊?
请楼住指教.


本机自己连结存取自己不设防,这个文章内已经描述过了。

==

论坛徽章:
0
发表于 2006-08-20 15:15 |显示全部楼层
好文,严重喜欢!!!

论坛徽章:
0
发表于 2006-08-23 13:56 |显示全部楼层
描叙很好,收藏了

论坛徽章:
0
发表于 2006-09-06 02:08 |显示全部楼层
原帖由 kenduest 于 2006-8-16 15:49 发表
不过该配置常谈到的问题就是,也许有人在 192.168.1.0/24 该内部网段连结 210.1.1.1 的 port 80 时,却无法浏览实际 192.168.1.1:80 该服务项目。

该问题牵涉到 icmp 重导的问题,而且目前 netfilter iptables 发展已经不会有该问题。若是还有问题的话,可以考虑如下配置:


CODE:[Copy to clipboard]iptables -t nat -A POSTROUTING -d 192.168.1.1 --dport 80 -s 192.168.1.0/24 -j SNAT --to 192.168.1.254
其中 192.168.1.254 也就是 NAT 主机对内的 ip,这样可以让该内部的192.168.1.1 看到的存取来源为 192.168.1.254,如此可以解决该问题

==== ...


请楼主帮忙详细解释一下
我内网端口映射的时候 必须加这一条
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
之后才可以在内网访问到对外映射IP的服务。
比如
iptables -t nat -A PREROUTING -p tcp -d 219.1.1.1 --dport 8080 -j DNAT --to 192.168.1.15:8080
如果之加这一条 用外部任意IP都可以访问 219.1.1.1:8080
而内部 192.168.1.0/24 的用户就无法用 219.1.1.1:8080 访问。

如要内部也可以用 219.1.1.1:8080 去访问的话 就必须加上
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(eth0 是内网网关连接NAT主机的网卡)
这样内网的用户就可以用 219.1.1.1:8080 去访问啦。
一直没搞清楚这个过程怎么走的。

白金曾提到过
iptables -A INPUT -i eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
这样写存在安全隐患 能详细解释一下吗?

论坛徽章:
0
发表于 2006-09-06 07:52 |显示全部楼层
iptables -A INPUT -i eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
这样写存在安全隐患 能详细解释一下吗?

若你的 eth0 是外网,这样写的确不安全
若你的 eth0 是内网,如果你的机器开的服务多,配置不严谨,内网有人恶意猜解密码等,也的确存在安全隐患

对于上面跑 NAT 同时需要做 DNAT 还需要内网访问外网地址访问内网主机的问题,可以这样解决
iptables -t nat -A PREROUTING -d 219.1.1.1 -p tcp --dport 8080 -j DNAT --to 192.168.1.15
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

[ 本帖最后由 platinum 于 2006-9-6 07:56 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP