由 williampan 在 04-09-2004 14:57 发表:
iptable.如何设置时间限制
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -j MASQUERADE
我允许2台电脑通过上网,但我要限制2的机器,只能在早8点到晚8点期间上网,该如何设置,有谁知道的,请指教。
M S N :[email protected]
Q Q:280367891
MYICQ:10518
英特尔:PENTIUM-1.6A
微 星:845EP-MAX(AC97)
希 捷:120G
希 捷:80G
金士顿:DDR333 512M
七彩红:ATI 9200
丽 台:TV2000XP
优 派:
由 韦青 在 04-09-2004 15:20 发表:
用crontab行得通吗?
只是猜想不知能否行得通.
crontab -e
00 08 * * * /etc/rc.d/init.d/iptables start
00 20 * * * /etc/rc.d/init.d/iptables stop
由 williampan 在 04-09-2004 15:25 发表:
我是想让一台24小时上,而另外一台8:00-20:00,可否在参数里实现呢。因为IPTABLE不太熟悉,可否详细说明,谢谢。
M S N :[email protected]
Q Q:280367891
MYICQ:10518
英特尔:PENTIUM-1.6A
微 星:845EP-MAX(AC97)
希 捷:120G
希 捷:80G
金士顿:DDR333 512M
七彩红:ATI 9200
丽 台:TV2000XP
优 派:
由 cszlf 在 04-09-2004 15:54 发表:
好象可以的
是不是先建立一个文件:/etc/sysconfig/alliptables,内容如下:
iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -j MASQUERADE
建一个:/etc/sysconfig/oneiptables,内容如下:
iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j MASQUERADE
再建立一个shell:/sbin/for12.sh,内容如下:
cp /etc/sysconfig/alliptables /etc/sysconfig/iptables
service iptables restart
再建立一个shell:/sbin/for2.sh,内容如下:
cp /etc/sysconfig/oneiptables /etc/sysconfig/iptables
service iptables restart
在crontab中加入:
00 08 * * * root /sbin/for12.sh
00 20 * * * root /sbin/for2.sh
不知道行不行?你试试。可能CP运行不一定能执行。
由 小毅 在 04-09-2004 18:52 发表:
转帖http://www.chinaunix.net 作者:qpbvd
关于 iptables ----time 参数添加的过程实录(原创)
--------------------------------------------------------------------------------
iptables 中有一个未直接包含的重要参数 time ,利用这个参数我们就可以按需要完成防火墙中需要定时的各种规则的配置。虽然有时我们也可以利用cron来完成相关的功能,但仅就防火墙的配置而言,time参数的利用会带来极大的便利。
在成功之前经历了多次的失败,虽如此却使自己得到了提高。
由于公开发布的linux内核文件中,有关iptables中的各种参数里并不包含time 参数,必须通过内核升级的方式打上这个补丁,因此工作前要下载相关的文件。
以root登录
第一次实验的系统配置如下
red flag 4.0 桌面版
内核是kernel-2.4.20
iptables 版本是 iptables-1.2.7a
本人下载了相关的文件
1. iptables-1.2.8.tar.bz2
2. patch-o-matic-20030912.tar.bz2
进入下载文件所在目录,解压后开始升级
#cd patch-o-matic
里边有几个文件及好些个文件夹,每个文件夹中包含了若干个不同功能的iptables功能模块文件,其中所需的time模块在base文件下
打开README文件,里边提示了简捷的安装示例,运行命令如下:
KERNEL_DIR=/usr/src/linux-2.4 ./runme base
“/usr/src/linux-2.4 是本机系统内核文件所在目录”
命令运行后会出现一个模块选择界面,初次使用的人会摸不着头脑的,大致如下:
-----------------------------------------------------------
本区域中写出了相着的模块名、功能及语法示例
。。。。。。。。
。。。。。。。。
。。。。。。。。
。。。。。。。。
------------------------------------------------------------
本区域给出各种选项:
其中选项的功能是选择下一个模块,Y是确定Q是退出
Y/ N/ R/.........../ Q/ ?/_
具体方法就是首先看看当前的模块是否是你需要的,如果不是就按N键后回车,继续显示下一模块的相关信息。有意思的是time模块居然是最后一个,当出现了time模块后,将里边的相关语法示例抄录下来以备应用。
随后按Y键表示安装这一模块,最后按Q退出。
下一步是重新编译内核
进入到内核文件所在目录/usr/src/linux-2.4,执行如下命令
make mrproper (这一步起什么作用本人也不清楚,也是照着抄来的)
make menuconfig
由于我在是kde下工作,所以这个命令有变化
make xconfig
设置内核选项,
进入Networking options
打开IP: Netfilter Configuration
你会发现里边增加了time选项,我直接选了Y 将time模块编入内核,这样就用不着在实际使用时modprobe time了选好后保存退出。
make dep
make bzImage
编译失败 😢
。。。
重装系统,仍是在这一步失败。利用同一系统在不同另外两台机器上也是在这一步失败。
第二次实验的系统配置如下
Red Hat 9.0
内核是kernel-2.4.20
iptables 版本是 iptables-1.2.7a
本人下载了相关的文件
1. iptables-1.2.8.tar.bz2
2. patch-o-matic-20030912.tar.bz2
在不同的机器上仍是在
bzImage
这一步失败。 😢 😢
。。。。
第三次实验的系统配置如下
Debian 3.0
内核是kernel-2.2.20
iptables 版本是 iptables-1.2.6a
本人下载了相关的文件
1. iptables-1.2.8.tar.bz2
2. patch-o-matic-20030912.tar.bz2
3. kernle-source-2.4.21-5.686.tar.