Mar 272007
 

发现通过pfsense这个强大的工具来学习pf规则的使用是再好不过的了,先按照应用环境配置好pfsense,然后ssh登录到服务器上检查所配置的pf rule,然后挨条解读这些Rule。

首先是NAT规则,这个我本来已经比较熟悉了,而且pfsense安装好之后默认就是开启NAT的,因此纯记录之,

fxp0为LAN接口,fxp1为WAN接口,内网IP为10.111.5.0/24,去除了无关紧要的行。

# pfctl -sn

nat on fxp1 inet from 10.111.5.0/24 port = isakmp to any port = isakmp -> (fxp1) port 500 round-robin #将LAN外联WAN的isakmp<->isakmp连接nat到WAN的500端口,这个服务不知道是干什么的,忽略之。
nat on fxp1 inet from 10.111.5.0/24 to any -> (fxp1) round-robin #关键在这里,将LAN网段在WAN口做NAT,使用round-robin(默认)方式

no rdr on fxp0 proto tcp from any to port = ftp #禁止LAN与VPN之间的21端口转发
rdr on fxp0 inet proto tcp from any to any port = ftp -> 127.0.0.1 port 8021 #将LAN内21端口转发至本机8021

NAT核心语句就只是第二条。
FTP服务的转向是因为FTP命令中有打开额外数据端口的指令,这些指令在NAT环境下需要做一下伪装,因为Internet中的FTP Server接收到类似 PORT 10.111.5.123 12345这种地址的命令是不会找到正确的端口的,在此需将其masq至WAN口的IP和端口,具体是通过运行在8021端口的ftp-proxy实现的。

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>