LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 855|回复: 6

地址绑定的问题。

[复制链接]
发表于 2005-4-19 17:20:20 | 显示全部楼层 |阅读模式
我在linux下配置两块网卡
地址分别为eth0:192.168.1.1、 eth1:10.0.0.1
安装apache , 绑定地址10.0.0.1:80

将我的windows 的机器的设为 192.168.1.2 网关为 192.168.1.1
windows机器直接与eth0 网线直连。

浏览器中输入 10.0.0.1 可以看到apache的页面。
我希望绑定了10.0.0.1 ,就只有连接到eth1 的机器可以访问到。不希望 eth0端口上的机器可以访问到。

我在linux下设置了。 /proc/sys/net/ipv4/conf/*/rp_filter , accept_redirects accept_source_route 等配置文件均无效。
发表于 2005-4-19 17:58:54 | 显示全部楼层
iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-19 21:26:59 | 显示全部楼层
这个iptables的命令我前面也使用了,可是这个命令会挡住正常的到eth0 80端口的数据包。
回复 支持 反对

使用道具 举报

发表于 2005-4-19 23:30:25 | 显示全部楼层
你不就是“不希望 eth0端口上的机器可以访问到。”么??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-20 09:45:07 | 显示全部楼层
可能是我没有把问题说清楚。
我使用两个网卡,连接两个不同的网络。这两个网络都可以访问到我的机器。现在的情况是 eth1 上的地址是10.0.0.1,并且apache绑定 10.0.0.1 。
之所以apache这样绑定。就是不希望 eth0 上连接的机器访问到 apache的服务。我可能在eth0上另外起一个apache,两个apache的内容是不同的。
现在的问题是当 eth0上连接的机器将网关设置为 eth0地址的时候。就可以访问到eth1的地址。说起来这可能是linux路由的一个优点。
但是从安全性上讲,可能是个缺点。
由于我可能经常变动 eth0 eth1的地址。因此不希望在使用的某个命令里面包含eth0或者eth1的地址。
使用iptables 好像必须包含 eth1 的地址。要是那天改了eth1的地址,而没有运行iptables 命令,就又要出问题。
而我希望能够通过修改路由的特性来解决这个问题。如果iptables命令里面不含有地址也可以。简单的封掉eth0:80端口也不可以。我有可能在eth0上也起一个apache的。
回复 支持 反对

使用道具 举报

发表于 2005-4-24 17:40:31 | 显示全部楼层
iptables -A INPUT -i eth1 -d 192.168.1.1 -p tcp --dport 80 -j DROP
试试?
:ask
回复 支持 反对

使用道具 举报

发表于 2005-4-25 23:33:01 | 显示全部楼层
你用linux做路由?
那当然是会转发拉。。。。
这不是优点,是规定的功能。如果路由不能转发数据包到不同的网络,那为啥还要路由呢?
在路由上使用acl来限制某接口到达的连接,或者针对某目标网络、端口等等
就那cisco来说,碰到你这样情况,他也照样转发的,因为直连网络默认出现在它的路由表里,而非直连的则需要静态路由或者动态路由协议
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表