[转载]用pf实现一个端口提供多种服务
信息来源: Linuxeden<br /><br />本文档向大家介绍了用 bsd 中的 pf 实现同一个端口针对不同IP提供不同服务的样例<br />转载请注明出自 Linux伊甸园<br />
<br />
在系统中启用 pf,pf 中做以下设置:<br />
<br />
ext_if="fxp0"<br />
<br />
#本机IP地址<br />
table <trusted> { 202.202.202.202 }<br />
#<br />
# IP for the service external interface:<br />
serverext="202.202.202.202 port 80"<br />
#<br />
# servers bound on localhost aliases:<br />
server0="127.0.0.10 port 80" # apache<br />
server1="127.0.0.11 port 80" # ftpd<br />
server2="127.0.0.12 port 80" # smtp<br />
server3="127.0.0.13 port 80" # pop3<br />
table <server> { 127.0.0.10, 127.0.0.11, 127.0.0.12, 127.0.0.13}<br />
<br />
# TABLES for redirection ( if you change anything here pls also see<br />
# <br />
table <level1> persist file "/usr/local/rang1/conf/acl"<br />
table <level2> persist file "/usr/local/rang2/conf/acl"<br />
table <level3> persist file "/usr/local/rang3/conf/acl"<br />
<br />
# RULES for redirection (first match wins!)<br />
rdr on $ext_if proto tcp from <level3> to $serverext -> $server3<br />
rdr on $ext_if proto tcp from <level2> to $serverext -> $server2<br />
rdr on $ext_if proto tcp from <level1> to $serverext -> $server1<br />
rdr on $ext_if proto tcp from any to $serverext -> $server0<br />
<br />
# this is required to access the local servers from localhost:<br />
pass in quick on lo0 inet from 127.0.0.0/8 to 127.0.0.0/8<br />
pass in quick on lo0 inet from any to <trusted><br />
<br />
#<br />
pass in on $ext_if proto { tcp, udp } from any to $ext_if port 80 keep state<br />
pass in on $ext_if proto { tcp, udp } from any to <server> port 80 keep state<br />
<br />
<br />
/usr/local/rang*/conf/acl 中的文件定义了用户的来源IP列表,每个IP一行<br />
<br />
本地的服务可以在定义在这些IP上,端口可以设置为其他的;<br />
127.0.0.10 port 80" # apache<br />
127.0.0.11 port 80" # ftpd<br />
127.0.0.12 port 80" # smtp<br />
127.0.0.13 port 80" # pop3<br />
<br />
遮掩,随着 三个文件 /usr/local/rang1/conf/acl /usr/local/rang2/conf/acl
/usr/local/rang3/conf/acl 中指定的IP的不同,用户访问 80
端口获得的服务也不相同,可以是apache,ftp,smtp,pop3;也可以是同一个服务器的不同实例,比如多个配置不同的ftp服务器。<br />
页:
[1]