免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4504 | 回复: 13
打印 上一主题 下一主题

[FreeBSD] 如何设置IPFW规则,使服务器能同时提供NAT和WEB服务? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-14 10:46 |只看该作者 |倒序浏览
我的服务器状况是:两块网卡,bce0,bce1,bce0绑定互联网ip地址,bce1绑定内网地址192.168.0.1,想实现的功能是局域网别的电脑通过这台服务器共享上网,这台服务器提供的web服务同时对互联网和局域网提供。软件:freebsd7.0,Apache/2.2.6 (FreeBSD) mod_ssl/2.2.6 OpenSSL/0.9.8e DAV/2 PHP/5.2.5 with Suhosin-Patch.

实现的方式是:在核心里加入如下内容:
options IPFIREWALL
options IPDIVERT
options IPFIREWALL_DEFAULT_TO_ACCEPT

对/etc/rc.firewall 没有进行任何修改。

刚才ipfw show的结果是:
00050 3138005 1637674582  divert 8668 ip4 from any to any via bce0
00010  1250   103628      allow ip from any to any via lo0
00020    0     0          deny ip from any to 127.0.0.0/8
00030    0     0          deny ip from 127.0.0.0/8 to any
65000 6159999 3289751415  allow ip from any to any
65535    0     0          allow ip from any to any

目前遇到的问题是:共享上网正常,局域网内无论是以内网地址还是输入域名来访问本服务器提供的web服务都很正常,但在互联网上访问则很慢很慢。为了测试是否是apache设置问题,在不通过本台服务器共享上网的电脑上通过互联网访问本服务器提供的ftp,同样也是非常非常非常非常地慢,能list,但不能上传和下载。请教各位大侠,这问题该从何处下手解决?(为了方便热心朋友诊断,给出服务器上的一个博客地址:http://cn.weweblog.com ) 提前谢了。

(更新内容:鉴于越来越接近问题,特修改原贴题目《局域网访问服务器正常,互联网访问服务器很慢很慢》,敬请熟悉IPFW的大侠伸手相助,多谢。)

[ 本帖最后由 palwoo 于 2008-4-15 20:34 编辑 ]

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
2 [报告]
发表于 2008-04-14 16:08 |只看该作者
1、添加ipfw的log
2、netstat -idb 查看网卡状况
3、vmstat -i看中断
4、systat -if 和 -vm,看一下是不是网卡有问题。

论坛徽章:
0
3 [报告]
发表于 2008-04-14 16:42 |只看该作者
谢谢如天使般的lsstarboy。网卡硬件没问题,此前用windows server 2003系统,互联网访问该服务器的web服务一切正常。
局域网内开bt,上传和下载速度都能开到很高,说明局域网别的机器通过该服务器上行和下行的流量也很正常。
我觉得也应该在防火墙规则方面找,但是设的是全开放啊。我试着添加log搞一搞,但不太好分析吧?

论坛徽章:
0
4 [报告]
发表于 2008-04-14 16:49 |只看该作者
增加防火墙日志还需重新编译安装核心。当时大意了。没要这个。

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
5 [报告]
发表于 2008-04-14 16:49 |只看该作者
DNS设置,apache的配置文件里的DNS名设置,这个有时候会影响到服务器速度。

log也好分析,可以只分析80或21,20的。新建一个规则就是。

论坛徽章:
0
6 [报告]
发表于 2008-04-14 17:01 |只看该作者
原帖由 lsstarboy 于 2008-4-14 16:49 发表
DNS设置,apache的配置文件里的DNS名设置,这个有时候会影响到服务器速度。

谢谢你考虑如此周全。不过这个应该也不是问题,因为我在外网测试的也有ftp,是ip地址直接访问的,速度同样。

突然感觉到很头大(我在类unix操作系统和网络底层方面属于文盲)。要不行,我把ipfw成为ipf吧?这个排除法虽然笨,但对我来说按照文档的说明好像还能操作下去。

论坛徽章:
0
7 [报告]
发表于 2008-04-15 16:14 |只看该作者
我把防火墙暂停之后,互联网访问我的服务器正常。暂时还没按照lsstartboy兄的指教把防火墙的log加上。请问仅仅看ipfw show的结果能否判断出来防火墙的规则在哪些地方需要修改吗?这个规则是缺省的。谢谢。

00050 3138005 1637674582  divert 8668 ip4 from any to any via bce0
00010  1250   103628      allow ip from any to any via lo0
00020    0     0          deny ip from any to 127.0.0.0/8
00030    0     0          deny ip from 127.0.0.0/8 to any
65000 6159999 3289751415  allow ip from any to any
65535    0     0          allow ip from any to any

(不太理解缺省规则中的00020和00030要达到什么效果,127.0.0.0/8指的是哪里?我只知道127.0.0.1是本机。 :-(

[ 本帖最后由 palwoo 于 2008-4-15 16:15 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-04-15 17:07 |只看该作者


00020    0     0          deny ip from any to 127.0.0.0/8
00030    0     0          deny ip from 127.0.0.0/8 to any

注释掉,仍然不正常。看来缺省的防火墙规则需要的不是减而是加了。

论坛徽章:
0
9 [报告]
发表于 2008-04-15 18:13 |只看该作者
矛盾的或许应该是这里:

65000 6159999 3289751415  allow ip from any to any
65535    0     0          allow ip from any to any

我新加了一条
add 10001 allow tcp from any to xxx.xxx.xxx.xxx(服务器ip地址) 80 in # 向整个Internet开放http服务。

再重启时65000规则没了,此时外网访问服务器正常,但内网就不能共享上网了,只能访问本服务器。

(那65535    0     0          allow ip from any to any 这个负责的是什么?流量一直为零,和65000    allow ip from any to any有什么不同呢?)

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
10 [报告]
发表于 2008-04-15 20:36 |只看该作者
65535规则是默认规则,和你的那一句效果完全一样。也就是说,你65000就是浪费。

再试一下:
ipfw add 11 allow ip from any to me 80
ipfw add 12 allow ip from any to me 20,21
ipfw add 13 allow ip from me to any

也许是外部IP也被divert了。所以会慢一些。

如果你要从ipfw -a list看出问题,那么就多建规则,把每种包都做一个双向的规则,就能看出效果了。比如看一下你80的访问:
ipfw add 11 allow ip from any to me 80
ipfw add 12 allow ip from me 80 to any
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP