Garey's Blog–FreeBSD/PHP/GoLang

六月 2nd, 2010

FreeBSD 8.0的网关实现手册之端口重定向(ipfw+natd)

8,631 views, FreeBSD, by garey.

在网关实现了之后,现在又需要把内网的机器某些端口映射到网关上,来实现从外网连接内部服务器的需求。

具体网关的实现,请参考:http://garey.bsdart.org/2010/03/freebsd-8-0的网关实现手册ipfwnatd/

在网关实现了之后,只需要作如下调整,即可实现端口重定向。

一、增加映射规则

vi /etc/rc.conf

natd_flags="-f /etc/natd.conf"

vi /etc/natd.conf

log yes

redirect_port tcp 192.168.0.100:21 21

redirect_port tcp 192.168.0.101:80 80

二、修改防火墙规则

vi /etc/ipfw.rules

#!/bin/sh

oif="tun0"
iif="em1"
fwcmd="/sbin/ipfw -q add"

valid_tcpport="21, 22, 80"

/sbin/ipfw -q -f flush

$fwcmd 0100 allow all from any to any via $iif
$fwcmd 0110 allow all from any to any via lo0

$fwcmd 0120 divert natd ip from any to any via $oif

$fwcmd 0200 check-state

$fwcmd 1000 allow all from any to any out via $oif keep-state

$fwcmd 1100 allow tcp from any to me $valid_tcpport in via $oif setup keep-state

三、重启服务器

这样,端口重定向就实现了。

Back Top

发表评论