免费注册 查看新帖 |

Chinaunix

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

[FreeBSD] 我心不死,继续求答ipfw nat 和ipsec问题 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2013-06-17 14:35 |只看该作者
NAT无法上网,
原因一:NAT未启动。
原因2: 被防火墙屏蔽了。

论坛徽章:
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 [报告]
发表于 2013-06-17 15:43 |只看该作者
没做过ipsec的,但是根据ipfw规则,给几个建议:

用ipfw必须考虑双向的规则。

$cmd 500 nat 10 ip from $ipsecip to any $ks
这一句是送出去的开始nat,回来的包呢?没见到回来包的nat,建议加上
$cmd 5000 nat 10 ip from any to me

不了解ipsec用的协议,建议直接写死ipsec,包括双向的。


论坛徽章:
0
3 [报告]
发表于 2013-06-17 18:48 |只看该作者
回复 2# anthie


    FreeBSd下NAT有不同实现,一般是natd来做,写一个 /etc/ipnat.rules来做scripts,这样ipfw 需要 divert 规则来接受外部进来的nat;在这个案例中,我使用的是ipfw nat来做,不需要natd,而是ipfw就启动nat,因此nat一定是启动的。

只是防火墙没放通,又不知道为啥。

论坛徽章:
0
4 [报告]
发表于 2013-06-17 18:49 |只看该作者
回复 3# lsstarboy


    恕我愚钝, keep-state规则应该就是双向的吧?我不确定。

论坛徽章:
0
5 [报告]
发表于 2013-06-17 20:18 |只看该作者
linuxbao3 发表于 2013-06-17 18:48
回复 2# anthie


不一定哟。我不知道是否通过规则启动,但是:

这是FreeBSD里的官方手册指导中的例子:
这是在 rc.conf 里的

# IPFW
firewall_enable="YES"
firewall_type="open"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic -m"

你看。natd 要 enable 才会启动。

ipfw 启动首先执行 rc.firewall 里的脚本。

你研究一下这个脚本,会有很大帮助。

看看 natd 是否启动,很简单:

# ps -ax | grep natd
1356 ??  Ss      123:03.99 /sbin/natd -dynamic -m -n tun0
44149  1  RL+       0:00.00 grep natd

看看哪些规则生效:

# ipfw show
00050  74053193  49453203264 divert 8668 ip4 from any to any via tun0
00100   2676793    575593497 allow ip from any to any via lo0
00200         0            0 deny ip from any to 127.0.0.0/8
00300         0            0 deny ip from 127.0.0.0/8 to any
00400         0            0 deny ip from any to ::1
00500         0            0 deny ip from ::1 to any
00600         7          524 allow ipv6-icmp from :: to ff02::/16
00700     34338      2343432 allow ipv6-icmp from fe80::/10 to fe80::/10
00800     12443      1806076 allow ipv6-icmp from fe80::/10 to ff02::/16
00900     24513      4815569 allow ipv6-icmp from any to any ip6 icmp6types 1
01000    100846      8400616 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
65000 156540476 118230605336 allow ip from any to any
65535        17         1466 allow ip from any to any

论坛徽章:
0
6 [报告]
发表于 2013-06-17 21:05 |只看该作者
回复 6# anthie


    我不使用natd + ipfw divert 组合,而是使用ipfw nat,ipfw 内建的nat功能,这个不需要再/etc/rc.conf中打开natd的。所以你的ipfw divert 对我这个是无用的。

论坛徽章:
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
7 [报告]
发表于 2013-06-18 08:25 |只看该作者
本帖最后由 lsstarboy 于 2013-06-18 08:26 编辑

你可以加上下一句测试一下,如果有数据包匹配,那么就是你的keep-state规则有问题:
$cmd 510 nat 10 log logamount 1000 ip from $ipsecip to any $ks

另外,还可以在后面加上带log的allow any to any,查看一下到底哪些数据包被忽略了。

查看log在/var/log/security

论坛徽章:
0
8 [报告]
发表于 2013-06-18 13:06 |只看该作者
回复 8# lsstarboy


    太感谢了,我马上试试

论坛徽章:
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
9 [报告]
发表于 2013-06-19 08:45 |只看该作者
回复 9# linuxbao3


    想起一个问题,把这行改为IP试试:
$nat 10 config ip 1.2.3.4
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP