简易防火墙建置与流量统计之二

   2.7 测试

  以 eth1 做为对内的网络介面,其虚拟 IP 位址为 192.168.1.0 ~ 192.168.1.255,因为其第一个为网络号码,最后一个为广播号,所以可用的虚拟 IP 为 192.168.0.1 ~ 192.168.255.254,我们将闸道器(gateway)设为 192.168.0.1、子网络遮罩设为 255.255.255.0,将 192.168.1.2 ~ 192.168.1.254 之间的 IP 分配给内部的机器,之后内部的机器就可以互相通讯(‘ping’),但对于要连出去,还需要一个步骤,那就是使用一支程序,ipchains 来达成这个目的。先针对上述的问题,如果要让内部的机器连接到外部的网络,可先执行:


/sbin/ipchains -A forward -s 192.168.0.0/24 - d 0.0.0.0/0  -j MASQ
/sbin/ipchains -P forward DENY

 

  第一个命令会将来源 192.168.0.0 ~ 192.168.255.255 的封包使用 IP 伪装,将伪装的封包送转送给预设的路由,到外部的网络。

  第二个命令会将 forward 的预设政策设为 DENY。

  你可以将这两行命令加在 /etc/rc.d/rc.local 档案中,使其每次开机时执行。

  对于 ipchains 的使用,会在下面作更详细的说明。

  第 3 章 封包过滤防火墙ipchains

  若你使用的是新版的 Linux,里面都会有 ipchains 的套件,直接使用就可以让你建立封包过滤防火墙。

   3.1 ipchains语法

  其选项、来源 ip、目的地 ip、port 可以不加,表示为全部。

  ipchains语法:


ipchains         命令 input/forward/output     
选项 源ip       Port 目的ip     port    -j目标

 

  范例:


ipchains  -A input -p all -s  192.168.1.2 -d eef.oit.edu.tw 23 -j DENY

 

   3.2 ipchains命令

  可以有两种形式来指定,全名方式或缩写方式来表示

  --add -A 增加新的 ipchains 规则

  --delete -D 删除第一个 ipchains 规则,或某一个 ipchains 规则

  --inser -I 插入一个新 ipchains 规则,其插入需指定规则中的数字,如果数字为 1 表示为第一个。

  --replace -R 取代所选择的规则,其取代需指定规则中的数字。

  --list -L 列出所选择设定的 ipchains 规则,如果没有规则被指定,会列出所有的规则出来。

  --flush -F 将某个 ipchains 规则清除(例如:input、output、forward)这相当于去删除掉规则的功效。

  --zero -Z 将所有规则中的封包和位元组计数器归零它也可以去指定-L, --list (list) 选项,会先列出之前的资料,再列出归零的资料。

  --check -C 检查封包是否违反所设的规则,这是一个相当有用的测试,其是-s (来源), -d (目的地), -p(协定), -i (界面)更是必要。

  --new -N 产生一个新的使用者定义规则(user-defined)。

  --delete-chain -X 删除使用者定义的规则,如果没有指定任何的参数,它将会所有的定义的规则。

  --policy -P 设定目标的政策,只有 input,forward,output 可以去设定。

  --masquerade -M 这个选项可以去查看现在的伪装连接状况(须加上-L 选项),或是去设定 kernel 伪装参数(-S选项)。

  --set -S 设定伪装停止时间变数

  --help -h 列出描述命令语法的说明。

   3.3 ipchains参数选项

  可以有两种形式来指定,全名方式或缩写方式来表示

  使用’!’去定义相反的意义:惊叹号’!’有’not’的意义,有许多选项可以加上’!’去使用,表示不是的意思。

  例如:


-s ! localhost

 

  说明: 表示除了localhost的来源位址都可以。

  --proto -p [!] protocol 协定:可以用数字或名字,例如:tcp、icmp、udp及all。

  范例:


 ipchains -A input -p tcp -s 192.168.1.3 -d eef.oit.edu.tw ftp -j DENY

 

  说明:

  源地址为 192.168.1.3 的主机不能对 eef.oit.edu.tw 这台主机做 ftp 的动作请求。

  -- source -s [!] 指定来源位址。

  --source-port [!] port 指定来源的port。

  --destination -d [!] 指定目的地位址

  --destination-port [!] 指定目的地的port

  --icmp-type [!] 类型名称,指定ICMP类型

  --interface -i [!] 网络接口名称 ,lo、eth0、eth1。

  -- jump -j 指定规则的目标,如果没有指定的话,这条规则算是没有用处。

  --numeric -n 取消DNS查询,直接使用IP

  -- log -l 将关于ipchains的讯息记录起来,记录于/var/log/messages内。

  -- verbose -v 完整模式,会列出界面名称、规则、TOS伪装,封包和位元组计数也会列出,须和-L一起使用。

  [!] --syn -y 只有当SYN设定时才会符合TCP封包

  --TOS -t Type Of Service

  [!] --version -V 列出ipchains的版本

  --bidirectional -b 双向模式

 


300*300
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00524 秒