网吧使用的Nat+Iptables+Squid的脚本(3)

 #这一步实现局域网内部机对外部网开放
  #凡对$STATIC_IP:80连线者,则转址到192.168.0.100:80
  iptables -t nat -A PREROUTING -d 80.234.71.88 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:80
  iptables -A FORWARD -p tcp -d 192.168.0.100 --dport 80 -j ACCEPT
  iptables -t nat -I POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp -d 192.168.0.100 --dport 80 -j SNAT --to 192.168.0.1
  #192.168.0.250装有win2003,提供远程桌面服务
  iptables -t nat -A PREROUTING -d 80.234.71.88 -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.250:3389
  iptables -A FORWARD -p tcp -d 192.168.0.250 --dport 3389 -j ACCEPT
  #允许内网机使用外网机的IP访问内网机,把内网机的IP转换成网关IP
  iptables -t nat -I POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp -d 192.168.0.250 --dport 3389 -j SNAT --to 192.168.0.1
  
  #允许要转向的包
  iptables -A FORWARD -i $INT_IF -j ACCEPT
  iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
  #对于不管来自哪里的ip碎片都进行控制,允许每秒通过100个碎片
  iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
  #icmp包通过的控制,防止icmp黑客攻击
  iptables -A FORWARD -p udp -d $LAN_IP_RANGE -i $EXT_IF -j ACCEPT
  #这一条是针对oicq等使用udp服务而接收所有的udp包
  
  #开放主机的ssh port 22,使内部机以ssh连至外部
  iptables -A OUTPUT -o $EXT_IF -p tcp -s $STATIC_IP --sport 1024:65535 -d any/0 --dport 22 -j ACCEPT
  iptables -A INPUT -i $EXT_IF -p tcp ! --syn -s any/0 --sport 22 -d $STATIC_IP --dport 1024:65535 -j ACCEPT
  
  #防止外网用内网ip欺骗
  iptables -t nat -A PREROUTING -i $EXT_IF -s 192.168.0.0/16 -j DROP
  iptables -t nat -A PREROUTING -i $EXT_IF -s 10.0.0.0/8 -j DROP
  iptables -t nat -A PREROUTING -i $EXT_IF -s 172.16.0.0/12 -j DROP
  
  #-----------透明代理------------
  $RC_SQUID status | grep pid &>/dev/null && {
  echo "透明代理实现"
  INT_IP=$(ifconfig | grep $INT_IF -A 1 | awk '/inet/ {print $2}' | sed -e s/addr\://)
  if [ -z "$INT_IP" ]; then
  echo
  echo "$(basename $0): $INT_IF没有IP存在"
  echo "请检查$INT_IF是否正确配置了"
  echo
  exit 3
  fi
  }
  exit 0
  ## EOS

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/75432a9460aa6143c04645aff9b67472.html