网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > 网络管理 > Linux服务器 > 基于中软Linux实现代理服务器与防火墙(1)  

基于中软Linux实现代理服务器与防火墙(1)

2002-12-01  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  作者:李宇
  
   #!/bin/bash
   #proxy and firwall
   #定义变量
   EXT_IFACE=eth0
   EXT_ADDR=192.9.100.8
   INT_IFACE=eth1
   INT_ADDR=192.168.0.0/24
   Manager_Addr=192.168.0.3/32
    
   #初始化设置
   service iptables stop
   iptables -F
   iptables -t nat -F
   iptables -X
   iptables -t nat -X
   iptables -Z
   iptables -t nat -Z
    
   iptables -P INPUT DROP
   iptables -P OUTPUT DROP
   iptables -P FORWARD DROP
   iptables -t nat -P POSTROUTING DROP
  
   #启动模块
   cd /lib/modules/2.4.3-3/kernel/net/ipv4/netfilter
   modprobe ip_conntrack_ftp
   modprobe ip_nat_ftp
   cd /
  
   #设置核心参数
  
   ##避免ping of death攻击
   echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
   ##禁止广播回应(可选)
   #echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    ##防止源路由攻击 网管网www.bitscn.com
    echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route
    ##不接受重定向的icmp数据包
    #echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects
    ##防止IP欺骗
    for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do
     /bin/echo 1 > ${interface}
     done
    ##禁止IP转发(在配置防火墙时,建议用户先关闭数据包的转发功能)
    echo 0 >/proc/sys/net/ipv4/ip_forward
    #IP伪装
    iptables -t nat -A POSTROUTING -s $INT_ADDR -o $EXT_IFACE -j MASQUERADE
    #定义forward 链规则
    iptables -A FORWARD -m state --state INVALID -j DROP
    iptables -A FORWARD -i $INT_IFACE -o $EXT_IFACE -s $INT_ADDR -m state --state
  RELATED,NEW,ESTABLISHED -j ACCEPT
    #iptables -A FORWARD -i $ INT_IFACE -s 192.168.0.3/32 -m mac --mac-source
  00:D0:59:08:5f:23 -o $EXT_IFACE -j ACCEPT(可以使用该方法实现IP地址与物理地址的捆绑)
    iptables -A FORWARD -i $EXT_IFACE -o $ INT_IFACE -d $ INT_ADDR -m state --state 网管网www.bitscn.com
  RELATED,ESTABLISHED -j ACCEPT
    #对包碎片的限制(会影响代理服务器的性能)
    #iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
    #对外部访问该防火墙作的限制
    iptables -A INPUT -i $EXT_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -i $EXT_IFACE -p tcp ! --syn -j ACCEPT
    #对内部用户访问防火墙的限制
    iptables -A INPUT -i $ INT_IFACE -p icmp -j DROP #(可以对其他协议做限制)
    #...........
    #允许管理员对防火墙的操作
    iptables -A INPUT -s $Manager_Addr -i $ INT_IFACE -p tcp --dport 3000 -j ACCEPT
    iptables -A INPUT -s $Manager_Addr -i $ INT_IFACE -p tcp --dport 22 -j ACCEPT
    iptables -A OUTPUT -d $Manager_Addr -o $ INT_IFACE -m state --state ESTABLISHED
  -j ACCEPT
    #允许发送的数据包(from gateway) 网管u家u.bitsCN.com
    iptables -A OUTPUT -o $EXT_IFACE -j ACCEPT
  
    #允许IP数据包转发
    echo 1 >/proc/sys/net/ipv4/ip_forward

 上一篇:基于中软Linux实现代理服务器与防火墙(2   下一篇:搭建Linux下RADIUS服务器(2)
基于中软Linux实现代理服务器与防火墙(1) 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: