网站首页
Cisco技术
Cisco产品
Cisco认证
网络知识
华为技术
解决方案
中兴技术
NGN技术
论坛
Vlan9.com
>
安全技术
>
网络安全
> 正文
基于中软Linux实现代理服务器与防火墙(1)
http://www.vlan9.com
作者: 2005-12-06 来源:
进入讨论
作者:李宇
#!/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
##防止源路由攻击
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
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)
iptables -A OUTPUT -o $EXT_IFACE -j ACCEPT
#允许IP数据包转发
echo 1 >/proc/sys/net/ipv4/ip_forward
关键字:
服务器
防火墙
os
nat
linux
ipv4
进入讨论
相关文章
热点排行:
·
CSVPN考后心得
·
898分过CSVPN 考后心得
·
VPN技术详解(3)
·
“超级”以太网—VPLS技术及应用综述
·
SSL VPN -- 可管理业务的下一个浪潮
·
虚拟专用网VPN在企业中应用
·
IPsec,Freeswan,VPN资料
·
基于IPSec的VPN技术原理于实现
·
IP/MPLS VPN安全吗?
·
CIW实验教程:使用PGP实现VPN的实施
·
浅论网络防火墙技术
·
新型防火墙技术
·
防火墙基础
·
深入浅出谈防火墙(上)
·
Cisco PIX 525防火墙
·
防火墙指南之技术篇
·
防火墙,自身别着火!
·
防火墙选择哪一款
·
linux防火墙实现技术比较
·
IPSec基础-IPSec体系结构
最 新 文 章
VPN技术
防火墙
网络攻防
访问控制
网络安全
IDS技术
安全配置
DOS攻击
SSH技术
IPsec技术