免费注册 查看新帖 |

Chinaunix

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

[FreeBSD] 【已解决】IPF+IPNAT,端口转发不起作用,搞死人了。。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-02 15:13 |只看该作者 |倒序浏览
本帖最后由 hackson99 于 2012-11-04 10:45 编辑

看了精华贴子,看了剑心斑竹的n年前的ipf帖子,google了n多的e文论坛和邮件列表,代理可以,只是外网访问内网主机的80端口不行。高手们啊,帮忙看看吧,兄弟快搞死了!

网卡设置:
re0 192.168.1.200  <--内网网关
re1  动态地址           <--PPPoE拨号上网


系统:
root@bsd:/root # uname -a
FreeBSD bsd.site 8.3-STABLE FreeBSD 8.3-STABLE #1: Thu Nov  1 13:46:37 CST 2012     wjm@bsd.site:/usr/obj/usr/src/sys/GENERIC  i386

内核编译文件:
#cpu            I486_CPU
#cpu            I586_CPU
cpu             I686_CPU
ident           wjm
......
#Add IPFilter for NAT
options IPFILTER
options IPFILTER_LOG


more  /etc/rc.conf
defaultrouter="192.168.1.1"
hostname="bsd.site"
ifconfig_re0="inet 192.168.1.200  netmask 255.255.255.0"
keymap="us.iso"
named_enable="YES"
sshd_enable="YES"

#For ADSL
ifconfig_re1=up
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="adsl"

#make this machine as a NAT gateway
gateway_enable="YES"
#netd for what??
netd_enable="YES"
ipfilter_enable="YES"
ipfilter_rules="/etc/ipf.rules"

ipmon_enable="YES"
ipmon_flags="-Dsv /var/log/ipfilter.log"

ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"

natd_enable="YES"
natd_interface="tun0"
natd_flags="-f /etc/natd.conf"

#for dhcpd
dhcpd_enable="YES"
dhcpd_ifaces="re0"


more /etc/ipf.rules
pass in all
pass out all

# for redirect 80
pass in log quick on tun0 proto tcp from any to any port=80 flags S keep state keep frags

more /etc/ipnat.rules
# for ftp from lan
map tun0 192.168.1.0/24 -> 0.0.0.0/32 proxy port ftp ftp/tcp

# for ftp from gateway
map tun0 0.0.0.0/32 -> 0.0.0.0/32 proxy port 21 ftp/tcp

# for all from lan
map tun0 192.168.1.0/24 -> 0.0.0.0/32 portmap tcp/udp auto
map tun0 192.168.1.0/24 -> 0.0.0.0/32

#redirect 80 to lan's erp server
rdr tun0 0/0 port 80 -> 192.168.1.100 port 80 tcp


sysctl -a
....
net.inet.ip.forwarding: 1
net.inet.ip.redirect: 1
....

ipnat -l
....
MAP 192.168.1.16    3848  <- -> a.b.c.d  5124  [122.224.73.82 4000]
MAP 192.168.1.16    5041  <- -> a.b.c.d  5057  [61.184.100.37 18009]
MAP 192.168.1.16    5041  <- -> a.b.c.d  5057  [121.10.44.47 18010]
MAP 192.168.1.9     9909  <- -> a.b.c.d  3373  [119.188.72.207 8000]
MAP 192.168.1.13    4075  <- -> a.b.c.d  4343  [64.4.61.78 1863]
MAP 192.168.1.9     9909  <- -> a.b.c.d  3373  [123.129.203.84 8000]
MAP 192.168.1.93    3794  <- -> a.b.c.d  24474 [64.4.61.130 1863]
MAP 192.168.1.16    4484  <- -> a.b.c.d  5256  [123.114.188.62 22772]
MAP 192.168.1.16    4000  <- -> a.b.c.d  5276  [125.39.205.119 8000]
MAP 192.168.1.9     4002  <- -> a.b.c.d  3514  [125.39.205.85 8000]
MAP 192.168.1.17    1386  <- -> a.b.c.d  5434  [111.161.52.148 80]
MAP 192.168.1.13    4072  <- -> a.b.c.d  4340  [221.192.136.48 80]
MAP 192.168.1.16    4461  <- -> a.b.c.d  5233  [121.12.172.101 80]
MAP 192.168.1.16    4457  <- -> a.b.c.d  5229  [64.4.44.43 1863]
MAP 192.168.1.9     3162  <- -> a.b.c.d  3430  [207.46.124.32 1863]
MAP 192.168.1.16    4005  <- -> a.b.c.d  5281  [111.161.52.195 8000]
MAP 192.168.1.98    4002  <- -> a.b.c.d  25942 [125.39.205.24 8000]
MAP 192.168.1.16    5041  <- -> a.b.c.d  5057  [61.184.100.40 18004]
MAP 192.168.1.16    5041  <- -> a.b.c.d  5057  [124.95.140.179 18007]
....

ipfstat -t
bsd.site - IP Filter: v4.1.28 - state top                15:04:31

Src: 0.0.0.0, Dest: 0.0.0.0, Proto: any, Sorted by: # bytes

Source IP             Destination IP         ST   PR   #pkts    #bytes       ttl

(这里是空白的。。。。。不知道怎么回事)

代理正常,内网通过192.168.1.200自动获取IP,上网,很正常。就是从外网连接a.b.c.d的80端口时不能转发到内网100的机器上。

大侠们啊,怎么办呢???救命吧,。。。。。。。。。。。。




论坛徽章:
0
2 [报告]
发表于 2012-11-02 16:14 |只看该作者
本帖最后由 anthie 于 2012-11-02 16:15 编辑

ipf 我是搞过的。很好用。但是我要问楼主是:这两个选项放这里为了搞基吗?
ppp_nat="YES"
netd_enable="YES"

论坛徽章:
0
3 [报告]
发表于 2012-11-02 16:30 |只看该作者
回复 2# anthie


    我也是按照文档的说明来做的。
老兄的意思是,这两天可以删除?那我的内网上网受影响吗??
谢谢!

论坛徽章:
0
4 [报告]
发表于 2012-11-02 16:41 |只看该作者
去读一读Freebsd的handbook
里面有一章专门讲Ipf的。
另外把ppp nat 设成No 因为默认是打开的。

论坛徽章:
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 [报告]
发表于 2012-11-02 17:25 |只看该作者
已经有natd了,就用ipfw吧,你把两个防火墙、PPP都掺合到一块了。

论坛徽章:
4
白羊座
日期:2013-09-24 23:01:09技术图书徽章
日期:2013-10-25 07:33:452015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之江苏
日期:2016-12-22 10:45:16
6 [报告]
发表于 2012-11-02 17:44 |只看该作者
最近谷歌不好使   一搜就挂

论坛徽章:
0
7 [报告]
发表于 2012-11-02 19:17 |只看该作者
回复 6# muwanqing_cu


18禁大会搞得呗。
十八禁大会总结:不要…不要…!要…要…!大力…大力…!深入…深入…!还要…还要…!高举…加快…推进…探索…坚持…两手抓…要硬…狠抓…奋力…!!!啪啪啪啪啪啪啪…

论坛徽章:
4
白羊座
日期:2013-09-24 23:01:09技术图书徽章
日期:2013-10-25 07:33:452015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之江苏
日期:2016-12-22 10:45:16
8 [报告]
发表于 2012-11-02 20:07 |只看该作者
···············

论坛徽章:
0
9 [报告]
发表于 2012-11-04 10:44 |只看该作者
好了,搞定了。
是我搞混了。把PPPnat 和natd 和ipnat都混合到一起了。虽然内网可以无限制的访问外网,但是,到外网进来访问内网的80端口、也就是要NAT做端口转发的时候,可能是FreeBSD不知道用那个nat机制:因为有三个nat机制---pppnat ipnat natd,所以,FreeBSD不知如何做。是这个意思吧。呵呵。
现在就是很简单的,去除了 ppp_nat,去除了natd,只留下ipfilter和ipnat,很简单就搞定了。呵呵,谢谢各位帮忙哦~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP