下一步,应该执行下列指令:
# sysctl -w net.link.ether.bridge_ipfw=1 # sysctl -w net.link.ether.bridge=1
此时,桥接器应该已经可以正常运作了,但因为之前 /etc/rc.conf 的设定,防火墙目前应该是完全打开的情形。这个时候,你应该可以将机器放在二个网络中间,而且回传和递送都没有问题。如果是这样的话,下一步就是把上述二行 sysctl 加到 /etc/rc.local 中,或 把二行中 net.link.[blah blah]=1 的部份加入 /etc/sysctl.conf 中(所在路径依FreeBSD的版本可能有所不同)。
在开始之前,机器有二张网络卡,但现在只设定了一张网络卡,也就是说在 /etc/rc.conf 中应该只有一行 ifconfig,即使己经设定好了桥接器也是如此。但有些细节必须加以思考,桥接器并非预设就己经设定好的,也就是说直到 sysctl 执行,桥接器才开始运作。在开机程序执行到最后阶段之前,这只是台有二张网络卡的普通机器,只有其中一张网络卡在 /etc/rc.conf 中有设定。对于开机过程中有网络存取要求的程序而言(如 DNS 解析),这便显得十分重要。 在 /etc/rc.conf中要设定哪一张网络卡时应加以考量,大多数的情况下,最好选择对外的那一张(也就是连到因特网的适配卡)。为了在范例中使用,我们假设 fxp0 是对外的界面,而 fxp1 是对内的,也就是说 fxp0 应该出现在 /etc/rc.conf 中 ifconfig 的位置,但 fxp1 没有。当 sysctl 开启桥接器时,fxp1 会自动开始运作。
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
For questions about FreeBSD, read the
documentation
before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.