端口映射功能可以让内部网络中某台机器对外部提供WWW服务,这不是将真IP地址直接转到内部提供WWW服务的主机,如果这样的话,有二个蔽端,一是内部机器不安全,因为除了WWW之外,外部网络可以通过地址转换功能访问到这台机器的所有功能;二是当有多台机器需要提供这种服务时,必须有同样多的IP地址进行转换,从而达不到节省IP地址的目的。端口映射功能是将一台主机的假IP地址映射成一个真IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转到内部一主机的提供这种特定服务的主机;利用端口映射功能还可以将一台真IP地址机器的多个端口映射成内部不同机器上的不同端口。
********** [ 主要的一些选项 ] **********
对外绑定地址/端口: PortTunnel监听的地址/端口。
映射目标地址/端口: 将要映射到的服务器地址/端口。
包含统计在总的状态中(标题栏): 将本映射的连接信息、传入速度、传出速度加入总的连接
信息中,并显示在主窗口标题中。
****************************************
********** [ IP 安全选项 ] **********
主窗口中的内容是允许或禁止的IP地址列表,如果这个列表很长,可以在下面输入IP地址,
点击查找即可寻找到包含输入IP地址的行。
处理无效IP的方法有三种:
禁止-取消此次访问
重定向-如果端口和地址不为空则重定向到指定的地址和端口
无回应-对客户端的请求不回应使之超时(不推荐这样做)
允许/禁止IP地址列表的设置方法:
可以使用外部文件来定义允许/禁止IP地址,只要增加以下内容:
i,c:\valid_ips.txt
然后建立文件 c:\valid_ips.txt,文件内容为允许/禁止的IP地址,例如:
y,127.0.0.1
y,12.34.56.78
n,*
等等...
PortTunnel每30秒会自动检测外部定义文件的改变(每30秒一次),然后自动调入新的内容。
你可以利用Perl或其它程序来改变外部定义文件的内容已达到自己的目的,你甚至可以在定义
文件中嵌套其它的定义文件,下面的例子说明了这种灵活性:
----- [start example] -----
----- [in ftp port mapping IP security tab] -----
i,c:\ftp_valid_ips.txt
----- [end] -----
----- [in irc port mapping IP security tab] -----
i,c:\irc_valid_ips.txt
----- [end] -----
----- [in file c:\ftp_valid_ips.txt] -----
i,c:\global_ban_list.txt
y,34.56.78.99 // a friend I let use ftp
i,c:\global_ok_list.txt
n,*
----- [end] -----
----- [in file c:\irc_valid_ips.txt] -----
i,c:\global_ban_list.txt
y,12.45.12.45 // a friend I let use irc
i,c:\global_ok_list.txt
n,*
----- [end] -----
----- [in file c:\global_ok_list.txt] -----
y,66.66.66.66 // a friend I let use every thing
----- [end] -----
----- [in file c:\global_ban_list.txt] -----
n,33.44.66.77 // a lamer I hate
---- [end] -----
----- [end example] -----
IP安全选项中有详细的定义允许/禁止IP地址的方法。
***********************************************
********** [ HTTP 有关选项 ] **********
使用HTTP代理服务器: 通过HTTP代理服务器来映射。
举例来说,你在单位需要通过HTTP代理上网,若想访问IRC服务器,则需如下设置:
1. 建立一个端口映射: 127.0.0.1:6667 映射到你的单位的HTTP代理服务器,如:
proxy.company.local:8080
2. 勾选“使用HTTP代理服务器”,并输入你想访问的IRC服务器地址,如:
ircserver.ircnetwork.net:6667
3. 设置你的IRC客户端程序访问地址 127.0.0.1:6667
注: 如果你单位的代理服务器禁止了IRC端口,那就没有办法来访问外部的IRC服务器。
代理服务器口令: 若代理服务器需要身份验证,请在此输入
修改端口号: 如果PortTunnel监听端口和映射到的端口不一致则需要勾选此项,例如,
映射从 localhost:81 到 host1:82
客户端发送
GET http://test.server:81/folder HTTP/1.1
Host: test.server
PortTunnel 将端口改为
GET http://test.server:82/folder HTTP/1.1
Host: test.server:88
然后 IIS 会返回
HTTP/1.0 302 Moved Temporarily
Location: http://test.server:82/folder/
PortTunnel 将返回内容中的端口改为
HTTP/1.0 302 Moved Temporarily
Location: http://test.server:81/folder/
这样做便不会导致HTTP的访问错误。
加入 X-Client-Address 到请求报文: 在HTTP请求中增加下列内容
X-Client-Address: aab.bbb.ccc.ddd
这有助于某些日志程序正确记录访问地址
*********************************************
********** [ FTP 有关选项 ] **********
传送'PORT' 与 'PASV' 命令:勾选此项有助于FXP文件传输,或通过代理服务器访问FTP的
客户端正确连接FTP服务器。
使用替换地址用于PASV回应: 若你的FTP服务器在网络防火墙之后或经过了地址转换,则需
在勾选并填写公用的外部IP地址。
只对不在同一个C类网络的客户端采取以上替换: 若在同一网络之内则无需替换。
使用下列端口范围用于PASV模式: 限制PASV使用的端口范围。
加入 IDNT: 如果FTP服务器支持IDNT则勾选。RaidenFTPD需要在 .ftpd 文件中增加:
BOUNCERIP = “PortTunnel 正在运行的机器的IP地址”
**************************************************
********** [ SMTP 有关选项 ] **********
smtp 快速设置:
1.
打开 “SMTP 接收筛选”
2.
增加所有需支持的域名,例如
y,mydomain.tld
y,another.domain.that.I.host
3.
增加信任的外部地址,例如
y,127.0.0.1 // localhost
y,192.168.* // lan
y,myfriend
4.
若需要 POP3 身份验证则
在 “通过筛选则” 中选择 “SMTP通过POP3服务器进行身份校验”
输入POP3地址和断口
下面是具体的 RCPT_TO 控制程序:
if (SMTP_FILTER)
{
ip_check_result = Lookup_IP_In_SMTP_SourceIP_List(...);
if (ip_check_result=='n') goto smtp_blocked;
dest_domain_check_result = Lookup_dest_domain_in_SMTP_DestDomain_List(...);
if (dest_domain_check_result=='n') goto smtp_blocked;
if (ip_check_result=='y') goto smtp_ok;
if (smtpauth_succeeded) goto smtp_ok;
}
if (SMTP_ANTISPAM_CHECK)
{
if (test_for_IP_in_antispam_rbl(...)) goto smtp_blocked;
}
if (SMTP_FILTER)
{
if (dest_domain_check_result=='y') goto smtp_ok;
if (SMTP_AFTERFILTER_AUTH)
{
if (smtpauth_succeeded)
goto smtp_ok;
else
goto smtp_blocked;
}
if (SMTP_AFTERFILTER_ALLOW) goto smtp_ok;
if (SMTP_AFTERFILTER_BLOCK) goto smtp_blocked;
}
*******************************************************
- PC官方版
- 安卓官方手机版
- IOS官方手机版