成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

squid+iptables網關防火墻的實現

運維 系統運維
iptables 是與最新的 2.6.x 版本Linux 內核集成的 IP 信息包過濾系統。squid是Linux下的一個代理服務器,怎么利用squid iptables 來實現網關防火墻呢!本文為你解開答案!

利用squid+iptables實現網關防火墻是非常容易的,跟著我一步一步走,就能學會!

  需求說明:此服務器用作網關、MAIL(開啟web、smtp、pop3)、FTP、DHCP服務器,內部一臺機器(192.168.0.254)對外提供dns服務,為了不讓無意者輕易看出此服務器開啟了ssh服務器,故把ssh端口改為2018.另把proxy的端口改為60080

  eth0:218.28.20.253,外網口

  eth1:192.168.0.1/24,內網口

  [jackylau@proxyserver init.d]$cat /etc/squid/squid.conf(部份如下)

  http_port 192.168.0.1:60080

  httpd_accel_port 80

  httpd_accel_host virtual

  httpd_accel_with_proxy on

  httpd_accel_uses_host_header on

  acl allow_lan src 192.168.0.0/24

  http_access allow allow_lan

  visible_hostname proxyserver

  [jackylau@proxyserver init.d]$ cat firewall

 

  1.   #!/bin/sh  
  2.  
  3.   # Author: jackylau ;  
  4.  
  5.   # chkconfig: 2345 08 92  
  6.  
  7.   # description: firewall  
  8.  
  9.   # Time on 2005.08.02  
  10.  
  11.   # killproc  
  12.  
  13.   # Set ENV  
  14.  

 

  INET_IP="218.28.20.253"

  INET_IFACE="eth0"

  LAN_IP="192.168.0.1"

  LAN_IP_RANGE="192.168.0.0/24"

  LAN_BROADCAST_ADDRESS="192.168.0.255"

  LAN_IFACE="eth1"

  LO_IFACE="lo"

  LO_IP="127.0.0.1"

  IPTABLES="/sbin/iptables"

  start(){

  echo -n $"Starting firewall:"

  /sbin/depmod -a

  /sbin/modprobe ip_tables

  /sbin/modprobe ip_conntrack

  /sbin/modprobe iptable_filter

  /sbin/modprobe iptable_mangle

  /sbin/modprobe iptable_nat

  /sbin/modprobe ipt_LOG

  /sbin/modprobe ipt_limit

  /sbin/modprobe ipt_state

  echo "1" >; /proc/sys/net/ipv4/ip_forward

  # Set policies

  $IPTABLES -P INPUT DROP

  $IPTABLES -P OUTPUT DROP

  $IPTABLES -P FORWARD DROP

  # Add bad_tcp_packets, allowed and icmp_packets

  $IPTABLES -N bad_tcp_packets

  $IPTABLES -N tcp_packets

  $IPTABLES -N udp_packets

  $IPTABLES -N allowed

  $IPTABLES -N icmp_packets

  # bad_tcp_packets

  $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-level INFO --log-prefix "New not syn:"

  $IPTABLES -A bad_tcp_packets -p TCP ! --syn -m state --state NEW -j DROP

  # allowed

  $IPTABLES -A allowed -p TCP --syn -j ACCEPT

  $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT

  $IPTABLES -A allowed -p TCP -j DROP

  $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BROADCAST_ADDRESS -j ACCEPT

  # TCP rules

  $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 20 -j allowed

  $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed

  $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 25 -j allowed

  $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed

  $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 110 -j allowed

  $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 2018 -j allowed

  # UDP rules

  $IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 67 -j ACCEPT

  # ICMP rules

  $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT

  $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

  # INPUT chain

  $IPTABLES -A INPUT -p tcp -j bad_tcp_packets

  $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT

  $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT

  $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT

  $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT

  $IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

  $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets

  $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets

  $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

  $IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

  # FORWARD chain

  $IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

  $IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT

  $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

  $IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "

  # OUTPUT chain

  $IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

  $IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT

  $IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT

  $IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

  $IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "

  # SNAT table

  $IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

  # DNAT table

  $IPTABLES -t nat -A PREROUTING -p ! icmp -d $INET_IP -dport 53 -j DNAT --to-destination 192.168.0.254:53

  # REDIRECT

  $IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -p tcp -s $LAN_IP_RANGE --dport 80 -j REDIRECT --to-ports 60080

  touch /var/lock/subsys/firewall

  }

  stop(){

  echo -n $"Stoping firewall:"

  echo "0">;/proc/sys/net/ipv4/ip_forward

  $IPTABLES -P INPUT ACCEPT

  $IPTABLES -P FORWARD ACCEPT

  $IPTABLES -P OUTPUT ACCEPT

  $IPTABLES -t nat -P PREROUTING ACCEPT

  $IPTABLES -t nat -P POSTROUTING ACCEPT

  $IPTABLES -t nat -P OUTPUT ACCEPT

  $IPTABLES -t mangle -P PREROUTING ACCEPT

  $IPTABLES -t mangle -P OUTPUT ACCEPT

  $IPTABLES -F

  $IPTABLES -t nat -F

  $IPTABLES -t mangle -F

  $IPTABLES -X

  $IPTABLES -t nat -X

  $IPTABLES -t mangle -X

  rm -f /var/lock/subsys/firewall

  }

  status(){

  clear

  echo "-------------------------------------------------------------------"

  $IPTABLES -L

  echo "-------------------------------------------------------------------"

  $IPTABLES -t nat -L POSTROUTING

  echo "-------------------------------------------------------------------"

  $IPTABLES -t nat -L PREROUTING

  }

  case "$1" in

  start)

  start

  ;;

  stop)

  stop

  ;;

  restart)

  stop

  start

  ;;

  *)

  echo "$0 [start|stop|restart|status]"

  ;;

  esac

  cp firewall /etc/init.d/

  chmod 700 /etc/init.d/firewall

  chkconfig --add firewall

通過文章的介紹和代碼的分析,我們對用squid和iptables來實現網關防火墻的功能有了一定的掌握,學會的朋友快跟朋友分享吧!

【編輯推薦】

責任編輯:趙鵬 來源: 網絡轉載
相關推薦

2011-03-15 15:47:25

Squidiptables

2011-03-16 11:20:26

2011-03-15 16:35:27

2011-03-17 16:00:57

2011-03-15 15:47:15

Iptables防火墻

2010-01-07 14:12:11

Linux防火墻

2011-03-15 15:47:26

LinuxIptables防火墻

2011-03-15 09:10:43

iptables防火墻

2011-03-15 17:18:45

2011-03-17 10:58:55

Linux防火墻Iptables入門

2018-07-02 09:18:11

Linuxiptables防火墻

2011-03-16 12:46:29

CentOSiptables防火墻

2011-03-15 17:38:24

2011-03-16 16:23:23

保存iptables防火墻

2009-09-24 13:53:53

2011-03-16 15:58:40

Iptables防火墻

2011-03-15 17:25:38

2011-03-15 09:10:42

Linux防火墻Iptables

2011-03-16 11:06:55

Iptables防火墻

2011-03-16 10:17:06

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕不卡在线88 | 久久国产精品视频 | 狠狠操婷婷 | 夜夜骑综合| 99热这里只有精品8 激情毛片 | 午夜激情小视频 | 国产91精品久久久久久久网曝门 | 午夜激情影院 | 日韩成人在线视频 | 日韩精品1区2区3区 成人黄页在线观看 | 亚洲精品一区二区三区在线 | 中文字幕日韩欧美一区二区三区 | 国产精品久久久亚洲 | 亚洲第一福利视频 | 亚洲精品一 | 国产精品久久久久久久久久 | 国产一区 日韩 | 成人精品在线视频 | 亚洲麻豆| 日韩色图视频 | 精品久久影院 | 成人免费视频网址 | 免费在线一区二区三区 | 成人久久网 | 中文字幕av高清 | 国产在线麻豆精品入口 | 日本在线视频一区二区 | 殴美黄色录像 | 日韩欧美大片在线观看 | 一区二区三区四区在线 | 日韩欧美在线精品 | 中文字幕在线播放不卡 | 午夜精品一区二区三区三上悠亚 | 国产精品毛片无码 | 一区二区三 | 国产精品国产三级国产aⅴ中文 | 亚洲精品福利在线 | 日韩中文字幕网 | 免费成人国产 | 中文字幕国产一区 | 9191在线观看 |