|
我在linux下面弄了个ipchains,但是总是觉得有点不大对劲,请会的人帮帮看看.
请你们以你们的经验看看,全面的看看,有没有需要补充的或者是需要修改的,给点意见.
假使我有一台linux的主机,一个固定ip:202.152.36.12.二个网卡.一个连接内网(eth1),一个连接外网(eth0).主机做服务器,开通dns,www,ftp,mail服务.我要做个linux的防火墙.配置如下:
1:要在/etc/init.d里面配置一个firewall.conf
2:
#网络配置
vnet="192.168.0.1/24"
ex-ethnet="eth0"
in-ethnet="eth1"
dns-server="202.152.36.12"
www-server="202.152.36.12"
ftp-server="202.152.36.12"
mail-server="202.152.36.12"
#关闭所以防火墙的机制
ipchains -F
ipchains -F input DENY
ipchains -F forward DENY
ipchains -F output DENY
#允许内网连接主机
ipchains -A input -i lo -j ACCEPT
ipchains -A output -i lo -j ACCEPT
ipchains -A input -i $in-ethnet ACCEPT
ipchains -A output -i $in-ethnet ACCEPT
#内网使用NAT多对一伪装
echo "1" > /proc/sys/net/ipv4/ip_forward
ipchains -A forward -p all -s $vnet -j MASQ
#对dns的放行
ipchains -A input -i $ethnet -p tcp -d $dns-server domain -j ACCEPT
ipchains -A output -i $ethnet -p tcp -s $dns-server domain -j ACCEPT
ipchains -A input -i $ethnet -p udp -d $dns-server domain -j ACCEPT
ipchains -A output -i $ethnet -p udp -s $dns-server domain -j ACCEPT
#对www的放行
ipchains -A input -i $ethnet -p tcp -d $www-server www -j ACCEPT
ipchains -A output -i $ethnet -p tcp -s $www-server www -j ACCEPT
ipchains -A input -i $ethnet -p udp -d $www-server www -j ACCEPT
ipchains -A output -i $ethnet -p udp -s $www-server www -j ACCEPT
#对ftp的放行
ipchains -A input -i $ethnet -p tcp -d $ftp-server ftp -j ACCEPT
ipchains -A output -i $ethnet -p tcp -s $ftp-server ftp -j ACCEPT
ipchains -A input -i $ethnet -p udp -d $ftp-server fsp -j ACCEPT
ipchains -A output -i $ethnet -p udp -s $ftp-server fsp -j ACCEPT
ipchains -A input -i $ethnet -p tcp -d $ftp-server ftp-data -j ACCEPT
ipchains -A output -i $ethnet -p tcp -s $ftp-server ftp-data -j ACCEPT
#对smtp的放行
ipchains -A input -i $ethnet -p tcp -d $mail-server smtp -j ACCEPT
ipchains -A output -i $ethnet -p tcp -s $mail-server smtp -j ACCEPT
ipchains -A input -i $ethnet -p tcp -d $mail-server pop3 -j ACCEPT
ipchains -A output -i $ethnet -p tcp -s $mail-server pop3 -j ACCEPT
ipchains -A input -i $ethnet -p udp -d $mail-server pop3 -j ACCEPT
ipchains -A output -i $ethnet -p udp -s $mail-server pop3 -j ACCEPT |
|