Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1297731
  • 博文数量: 632
  • 博客积分: 2778
  • 博客等级: 大尉
  • 技术积分: 3387
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-31 09:09
个人简介

123

文章分类

全部博文(632)

文章存档

2014年(36)

2013年(33)

2012年(563)

分类: LINUX

2012-12-19 08:05:40

实训三          防火墙







点击(此处)折叠或打开

  1. #!/bin/bash
  2. echo 1 > /proc/sys/net/ipv4/ip_forward
  3. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  4. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  5. echo 1 > /proc/sys/net/ipv4/tcp_syncookies

  6. #网卡:上外、下内
  7. #上外 218.29.47.69 255.255.255.224 218.29.47.65
  8. #下内 192.168.1.1 255.255.255.0 192.168.1.1
  9. #INET_IF="ppp0"
  10. INET_IF="eth0"
  11. LAN_IF="eth1"
  12. INET_IP="2.2.4.6"
  13. LAN_IP="192.168.1.1"
  14. LAN_IP_RANGE="192.168.1.0/24"
  15. LAN_WWW="192.168.1.22"
  16. IPT="/sbin/iptables"
  17. TC="/sbin/tc"
  18. MODPROBE="/sbin/modprobe"

  19. $MODPROBE ip_tables
  20. $MODPROBE iptable_nat
  21. $MODPROBE ip_nat_ftp
  22. $MODPROBE ip_nat_irc
  23. $MODPROBE ipt_mark
  24. $MODPROBE ip_conntrack
  25. $MODPROBE ip_conntrack_ftp
  26. $MODPROBE ip_conntrack_irc
  27. $MODPROBE ipt_MASQUERADE

  28. for TABLE in filter nat mangle ; do
  29. $IPT -t $TABLE -F
  30. $IPT -t $TABLE -X
  31. $IPT -t $TABLE -Z
  32. done

  33. $IPT -P INPUT DROP
  34. $IPT -P OUTPUT ACCEPT
  35. $IPT -P FORWARD DROP
  36. $IPT -t nat -P PREROUTING ACCEPT
  37. $IPT -t nat -P OUTPUT ACCEPT
  38. $IPT -t nat -P POSTROUTING ACCEPT

  39. # 拒绝INTERNET客户访问
  40. #$IPT -A INPUT -i $INET_IF -m state --state RELATED,ESTABLISHED -j ACCEPT
  41. $IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  42. #$IPT -A INPUT -i $INET_IF -p tcp -s 123.5.0.0/16 --dport 22 -j ACCEPT
  43. $IPT -A INPUT -p tcp --dport 22 -j ACCEPT
  44. $IPT -A INPUT -i $INET_IF -m state --state NEW,INVALID -j DROP

  45. for DNS in $(grep ^n /etc/resolv.conf|awk '{print $2}'); do
  46. $IPT -A INPUT -p tcp -s $DNS --sport domain -j ACCEPT
  47. $IPT -A INPUT -p udp -s $DNS --sport domain -j ACCEPT
  48. done

  49. # anti bad scaning
  50. $IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
  51. $IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL ALL -j DROP
  52. $IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
  53. $IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL NONE -j DROP
  54. $IPT -A INPUT -i $INET_IF -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  55. $IPT -A INPUT -i $INET_IF -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

  56. $IPT -t nat -A PREROUTING -d $INET_IP -p tcp --dport 8008 -j DNAT --to-destination $LAN_WWW:8008
  57. #$IPT -t nat -A PREROUTING -d $INET_IP -p tcp --dport 22 -j DNAT --to-destination $LAN_WWW:22

  58. if [ $INET_IF = "ppp0" ] ; then
  59. $IPT -t nat -A POSTROUTING -o $INET_IF -s $LAN_IP_RANGE -j MASQUERADE
  60. else
  61. $IPT -t nat -A POSTROUTING -o $INET_IF -s $LAN_IP_RANGE -j SNAT --to-source $INET_IP
  62. fi

  63. #MAC、IP地址绑定
  64. $IPT -A FORWARD -s 192.168.1.28 -m mac --mac-source 40:16:9F:EB:D7:D2 -j ACCEPT
  65. $IPT -A FORWARD -d 192.168.1.28 -j ACCEPT

阅读(944) | 评论(0) | 转发(0) |
0

上一篇:别学黑客

下一篇:在redhat上安装net-snmp

给主人留下些什么吧!~~