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" ]
then
echo ""
echo "#把对ADSL拨号IP的JABBER(客户端口5222和服务器端口5269)服务映射到服务网络的JABBER服务器上" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 5222 -> "$INTARNJABBER" port 5222" >> /etc/ipnat.rules
echo "rdr "$ADSLDEV" "$ADSLIP"/32 port 5269 -> "$INTARNJABBER" port 5269" >> /etc/ipnat.rules
fi
#动态生成ipf.rules规则
echo "#######################################################" > /etc/ipf.rules
echo "#/etc/ipf.rules #" >> /etc/ipf.rules
echo "#######################################################" >> /etc/ipf.rules
echo "#阻塞所有存在安全问题的数据包">> /etc/ipf.rules
echo "block in log quick all with short" >> /etc/ipf.rules
echo "block in log quick all with ipopts" >> /etc/ipf.rules
echo "block in log quick all with frag" >> /etc/ipf.rules
echo "block in log quick all with opt lsrr" >> /etc/ipf.rules
推荐阅读
- 抖音多想手牵手带你来我世界走一走什么歌 歌词歌曲分享
- 军训需要自带皮带吗
- 平字吉祥语
- 带人的吉祥语
- 带丽字气质昵称微信名 带丽字气质昵称
- 带均的吉祥语
- 霸气带彬字的名称
- 带鼠吉祥语
- 海白菜是海带吗
- 焖烧杯可以带熟饭菜吗
