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

# ------------- 端口开启 ------------
  echo "开启所要的端口...."
  iptables -N services
  for PORT in $TRUSTED_TCP_PORT; do
  iptables -A services -i $EXT_IF -p tcp --dport $PORT -j ACCEPT
  done
  for PORT in $TRUSTED_UDP_PORT; do
  iptables -A services -i $EXT_IF -p udp --dport $PORT -j ACCEPT
  done
  #----ipforwarding--------
  echo "打开foward功能"
  echo "1" > /proc/sys/net/ipv4/ip_forward
  
  #动态ip使用
  #
  #echo "1" > /proc/sys/net/ipv4/ip_dynaddr
  #这里是动态ip实现nat共享必改之处
  
  ###---------------------------------------------------###
  #清除先前的设定
  ###---------------------------------------------------###
  echo "正在清除先前的设定......."
  #清除预定表filter中,所有规则链中的规则
  iptables -F
  #清除预定表filter中,使用者自定链中的规则
  iptables -X
  
  #清除预定表mangle中,所有规则链中的规则
  iptables -F -t mangle
  #清除预定表mangle中,使用者自定链中的规则
  iptables -X -t mangle
  
  #清除nat表中的规则
  iptables -F -t nat
  iptables -X -t nat
  iptables -Z -t nat
  
  ###---------------------------------------------------###
  #设定预设规则
  ###---------------------------------------------------###
  #预设规则要么为全部丢弃,要么为全部接受
  #本列为全部丢弃,然后逐步开放,这是安全系数很高的设法
  #若目标为DROP,则policy设为ACCEPT;若目标为ACCEPT,则policy设为DROP
  
  iptables -P INPUT DROP
  iptables -P OUTPUT DROP
  iptables -P FORWARD DROP
  
  #TCP的设定
  #
  #我们丢弃坏的TCP包
  #
  iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
  iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
  
  #局域网共享的实现
  #iptables -t nat -A POSTROUTING -o $EXT_IF -s $LAN_IP_RANGE -j SNAT --to-source $STATIC_IP
  iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE
  echo "局域网共享的已实现,请试用局域网机器"

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

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