#行 。
#步骤二:把adslip.sh脚本修改成你的实际网络情况 。修改如下:
#内部网卡设备号、内部网段、服务器IP地址、ADSL拨号网络设备号或自己增加网络设备
#和相应的过滤规则 。
#步骤三:把adslip.sh脚本拷贝到/etc目录里,和在/etc/rc.local文件中为入”sh /etc/adslip.sh”
#就可以了 。
###############################################################################
#内部网卡设备号fxp0
INTARNDEV="fxp0"
INTARN=`ifconfig $INTARNDEV | grep inet | cut -d " " -f 2`
#内部网段192.168.168.0/24
INTARNNET="192.168.168.0/24"
#服务器IP地址
#注意:服务器IP地址为0.0.0.0时是不会做相应的服务映射,只在填写了正确的IP地址后才会映射到该IP地址上 。
INTARNFTP="0.0.0.0" #FTP服务器
INTARNSSH="0.0.0.0" #SSH服务器
INTARNEMAIL="0.0.0.0" #EMAIL服务器
INTARNDNS="0.0.0.0" #DNS服务器
INTARNWEB="0.0.0.0" #WEB服务器
INTARNSSL="0.0.0.0" #SSL服务器
INTARNRTSP="0.0.0.0" #RTSP服务器
INTARNMYSQL="0.0.0.0" #MYSQL服务器
INTARNJABBER="0.0.0.0" #JABBER服务器
#ADSL拨号网络设备号tun0
ADSLDEV="tun0"
ADSLIP=`ifconfig $ADSLDEV | grep inet | cut -d " " -f 2`
until [ $ADSLIP ]
do
sleep 5
done
#动态生成ipnat.rules规则
echo "######################################################" > /etc/ipnat.rules
echo "#/etc/ipnat.rules #" >> /etc/ipnat.rules
echo "######################################################" >> /etc/ipnat.rules
echo ""
echo "#把所有的内部网络IP伪装成ADSL拨号IP" >> /etc/ipnat.rules
echo "map "$ADSLDEV" "$INTARNNET" -> "$ADSLIP"/32 portmap tcp/udp 10000:65000" >> /etc/ipnat.rules
if [ $INTARNFTP != "0.0.0.0" ]
then
echo ""
echo "#把对ADSL拨号IP的FTP服务映射到服务网络的FTP服务器上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 20 -> "$INTARNFTP" port 20" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 21 -> "$INTARNFTP" port 21" >> /etc/ipnat.rules
fi
if [ $INTARNSSH != "0.0.0.0" ]
then
echo ""
echo "#把对ADSL拨号IP的SSH服务映射到服务网络的网管工作站上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 22 -> "$INTARNSSH" port 22" >> /etc/ipnat.rules
fi
if [ $INTARNEMAIL != "0.0.0.0" ]
then
echo ""
echo "#把对ADSL拨号IP的EMAIL服务映射到服务网络的EMAIL服务器上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 25 -> "$INTARNEMAIL" port 25" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 110 -> "$INTARNEMAIL" port 110" >> /etc/ipnat.rules
fi
if [ $INTARNDNS != "0.0.0.0" ]
then
echo ""
echo "#把对ADSL拨号IP的DNS服务映射到服务网络的DNS服务器上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 53 -> "$INTARNDNS" port 53" >> /etc/ipnat.rules
fi
if [ $INTARNWEB != "0.0.0.0" ]
then
echo ""
echo "#把对ADSL拨号IP的WEB服务映射到服务网络的WEB服务器上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 80 -> "$INTARNWEB" port 80" >> /etc/ipnat.rules
fi
if [ $INTARNSSL != "0.0.0.0" ]
then
echo ""
echo "#把对ADSL拨号IP的SSL服务映射到服务网络的SSL服务器上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 443 -> "$INTARNSSL" port 443" >> /etc/ipnat.rules
fi
if [ $INTARNRTSP != "0.0.0.0" ]
then
echo ""
echo "#把对ADSL拨号IP的RTSP服务映射到服务网络的RTSP服务器上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 554 -> "$INTARNRTSP" port 554" >> /etc/ipnat.rules
fi
if [ $INTARNMYSQL != "0.0.0.0" ]
then
echo ""
echo "#把对ADSL拨号IP的MYSQL服务映射到服务网络的MYSQL服务器上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 3306 -> "$INTARNMYSQL" port 3306" >> /etc/ipnat.rules
fi
if [ $INTARNJABBER != "0.0.0.0" ]
推荐阅读
- 小C使用三月有感
- 一 FreeBSD kernel 编译大法
- opporeno中打开开发者选项的使用教程
- FreeBSD 新软件安装
- FreeBSD MRTG-Packet Count
- 小车防冻液的作用与正确使用方法 小车防冻液的作用有哪些
- FreeBSD 文件和目录查找
- 滑动离合器使用技巧 滑动离合器使用方法
- 使用夏新M6三天————修机经历
- 有道词典中使用离线翻译功能具体操作方法
