IP伪装技术浅谈
以便在重开机时开启 gateway 的功能。与 Linux 最大的部同是, Linux 的 IP-Masq的运作完全是在 kernel 中进行,而 FreeBSD 的 NAT 还需要跑一苹 natd 的程序来运作。请在 /etc/services 加入一行:
然后在开机时执行这个程序:
其意义为: 所有来自虚拟 (内部) 网络的封包,经转换后经由 ed0 (ethernet) 接口对外传送。 第二步我们要设定 IP-Firewall rule 。在 FreeBSD 要用 ipfw 指令。使用 ipfw -a show 会列出目前所有的 rule:
与 Linux 的 ipfwadm 不一样,在 FreeBSD 中不特别区分 Input, Output, Foreward这三项,也没有 default policy, 但它每一个 rule 都有一个号码,代表 rule 的比对顺序。进来的封包会按此顺序一个个地比对,一旦比对符合就按此 rule 来处理。以上的 rule 其意义是: 01000: 允许封包经由 lo0 (loop back) 互传 01010: 拒绝 127.0.0.0/8 到 127.0.0.0/8 的封包 (作用与上述 Linux 的 rule 类似) 06000: 使用 IP-Divert 建立虚拟与真实 IP 的连线 65000: 允许所有的封包自由流通 (如此 server 本身便能自由对外连线、接受连线) 65535: 拒绝所有的封包在 freebsd.phys 系统中,用的是 FreeBSD-2.2.5 操作系统,当启动 IP-Firewall之后,除了 06000 那个 rule 以外,其它的 rule 系统每次重开机时便会帮我们自动建立。而要使用 IP-Divert & natd, 我们必须自行建立 06000 这个 rule:
其中 06000 这个数字就决定了此 rule 在整个 rule table 的安插顺序。请注意顺序非常重要! 它一定要在 65000 之前,否则的话,来自IP伪装 的封包因为满足65000 rule, 系统就以此 rule 处理,而不再往下看有关 IP-Divert 的 rule, 结果是,IP伪装 的封包未经处理就往外丢,连线无法正确建立,网络不通。 上一篇:RPM命令手册 下一篇:MODEM]调制解调器的安装与配置 更多相关文章
|
推荐文章
精彩文章
|