扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
3.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 的使用,会在下面作更详细的说明。
4. 封包过滤防火墙ipchains
若你使用的是新版的 Linux,里面都会有 ipchains 的套件,直接使用就可以让你建立封包过滤防火墙。
4.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
4.2 ipchains命令
可以有两种形式来指定,全名方式或缩写方式来表示
--add -A 增加新的 ipchains 规则
--delete -D 删除第一个 ipchains 规则,或某一个 ipchains 规则
--insert -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 (界面)更是必要。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者