随心订制linux透明防火墙

http://tech.ddvip.com   2006年04月03日    社区交流 收藏本文

本文详细介绍随心订制linux透明防火墙

  在目录 /etc/rc.d 下创建脚本文件 myfirewall.sh,用命令 touch /etc/rc.d/myfirewall.sh并给文件执行权限 chmod 711 myfirewall。然后用 vi 编辑这个文件。

  vi /etc/rc.d/myfirewall.sh

  #!/bin/bash

  #Define string

  IPT=/sbin/iptables

  #Refresh rules

  $IPT -F FORWARD

  $IPT -F INPUT

  $IPT -F OUTPUT

  #Default policy

  $IPT -P INPUT DROP

  $IPT -P FORWARD DROP

  $IPT -P OUTPUT ACCEPT

  #Enable loopback

  $IPT -A INPUT -i lo -p all -j ACCEPT

  #Enable icmp

  $IPT -A INPUT -p icmp –j ACCEPT

  #Interface forward

  $IPT -A FORWARD -s 192.168.1.0/24 -j ACCEPT

  $IPT -A FORWARD -d 192.168.1.0/24 -j ACCEPT

  #Enable ssh

  $IPT -A INPUT -p tcp --dport 22 -j ACCEPT

  #Add other access rule //可根据实际情况添加或减少规则

  $IPT -A INPUT -p tcp --dport 20 -j ACCEPT

  $IPT -A INPUT -p tcp --dport 21 -j ACCEPT

  $IPT -A INPUT -p tcp --dport 80 -j ACCEPT

  $IPT -A INPUT -p tcp --dport 53 -j ACCEPT

  $$IPT -A INPUT -p udp --dport 53 -j ACCEPT

  $IPT -A INPUT -p tcp --dport 23 -j ACCEPT

  $IPT -A INPUT -p tcp --dport 110 -j ACCEPT

  $IPT -A INPUT -p tcp --dport 25 -j ACCEPT

  $IPT -A INPUT -p tcp --dport 443 -j ACCEPT

  我写的这个规则只开放了较少的允许访问的策略(可以ping ,收发邮件,浏览网页,ssh,https,telnet,ftp,其它的访问则全部丢弃)。$IPT –A OUTPUT ACCEPT 没有设置成DROP的原因是由于大部分网络服务所使用的协议是tcp协议,众所周知,tcp协议是面向连接的,如果设置 $IPT –A OUTPUT DROP, 那么任何协议为tcp的连接就要写两条了。况且防火墙对外的访问总是允许的,因此这样做是为了简化规则。

责编:豆豆技术应用

正在加载评论...