正如我经常注意到的,在FreeBSD中,总会有很多方法导致一些特定的目标。
在找出我想要的防火墙(我选择ipfw)之后,我现在完全不确定用哪种方式进行网络地址转换(NAT)。
正如我现在所发现的,NAT有两种方式,我可以使用内核空间ipfw nat,也可以使用用户空间natd。
FreeBSD手册中唯一描述的是natd。
我想知道的是,这两者之间的主要区别是什么?哪个更受欢迎。
当然,我也希望能够钓鱼,那么我如何才能在手册/手册中找出这些差异呢?
发布于 2012-06-06 10:56:34
ipfw nat通常更可取,因为它运行在内核空间,比divert+natd消耗更少的CPU。但是,如果需要为FTP连接动态添加规则(在natd中查找-punch_fw选项),则仍然可以使用natd(8)。手册页已严重过时。
发布于 2012-01-04 09:58:46
首先,你并不是唯一一个(邮件列表中关于这个问题的帖子)。
由此,我发现natd显然是FreeBSD 7.x之前的唯一选择,您引用的手册页面可能需要修改(见这篇文章),内核内NAT可能更快。
除此之外,这两种解决方案看起来仍然很好(毕竟,这两种解决方案都存在于标准的FreeBSD安装中),而通常的内核空间/用户空间参数apply...not是最令人满意的答案,对不起。
发布于 2015-01-29 19:28:15
直到今晚,我才知道有一个内核nat (natd替代品)。我的天性是使用愚蠢的cpu周期,即使几乎没有任何流量。似乎您需要小心地控制哪种类型的数据包通过natd,以避免这种高cpu。这取决于您的环境的性质,什么ipfw规则是最好的,以避免不必要的流量被转移到natd。
我找不到一个不会给我带来麻烦的简单规则集。我怀疑这是因为我的监狱运行在LAN上,这会通过natd产生流量。所以,我现在开始学习ipfw +内核nat。
这本手册只需要提到这一点,哪怕是一条直线就足够了。
https://unix.stackexchange.com/questions/28200
复制相似问题