LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1007|回复: 12

如何限制局域的用户只用某段ip上网

[复制链接]
发表于 2003-9-18 23:07:53 | 显示全部楼层 |阅读模式
我用的是redhat8.0电信adsl的pppoe方式
可是近来好多人乱改ip,给网络造成很大影响。
请教如何使用户只用限定的ip上网。
比如我只想让192.168.18.1——192.168.18.9这几个用户上网。
别的用户不可以上网,但是局域网功能不影响。
希望给与赐教,不胜感激:)
 楼主| 发表于 2003-9-18 23:09:27 | 显示全部楼层
加一句。我用的是iptables转发ip数据包。
发表于 2003-9-19 02:35:49 | 显示全部楼层
用IPTABLES比较难实现 IPTABLES只可以指定某一网段 而不能设置一个具体地址吧 (我是这样的理解的 不知道对不对)
要不你就用SQUID 那就很方便了 不过这样只能限定HTTP访问 而例如QQ 什么的还是可以上 但如果你要屏障所有的QQ MSN那就没问题了
发表于 2003-9-19 09:12:12 | 显示全部楼层
用iptables可以实现,等我帮你找找
发表于 2003-9-19 16:26:41 | 显示全部楼层
晕,iptables网段、域名,具体IP,MAC地址,什么不能指定。
 楼主| 发表于 2003-9-19 17:17:04 | 显示全部楼层
我是个笨人.我用笨方法实现了.我把经过写给大家,请指教:
我把/etc/rc.local里面的
/sbin/iptables -t nat - A POSTROUTING -o ppp0 -j MASQUERADE
加#注释掉.
加入/sbin/iptables -t nat -A POSTROUTING -o ppp0 -s ip -j MASQUERADE
这样就可以了.
发表于 2003-9-19 19:06:55 | 显示全部楼层
实现的方法是可以。
可是没有解决你所说的乱改IP的问题啊。
 楼主| 发表于 2003-9-19 19:12:00 | 显示全部楼层
我是个笨人.我用笨方法实现了.我把经过写给大家,请指教:
公司5台电脑,现在只允许老总办公室的电脑上网(呵呵,不公平)不给财务室的电脑上网。我想不能禁止某具体ip,应该可以一个ip一个ip的通过。
我把/etc/rc.local里面的
/sbin/iptables -t nat - A POSTROUTING -o ppp0 -j MASQUERADE
加#注释掉.
加入/sbin/iptables -t nat -A POSTROUTING -o ppp0 -s ip -j MASQUERADE
如果你要哪几台电脑上网,就写几行,如果你想禁止某ip上网。
就写iptables -A FORWARD -s ip -j DROP

做的时候比较辛苦,做好了就灵活了。另外别忘了绑定mac地址哦:)
发表于 2003-9-20 09:05:47 | 显示全部楼层

其实用这个方法很简单

你在你的IPTABLES中加入允许上网的网卡的mac地址,而不用禁止IP。当别人乱改IP他也上不了网的
#!/bin/bash
echo "Enable IP Forwarding..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
/sbin/modprobe iptable_filter
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F OUTPUT
/sbin/iptables -F POSTROUTING -t nat
/sbin/iptables -F PREROUTING -t nat
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -i lo   -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A INPUT   -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
#主要是下面一句
#只转发符合上网电脑网卡mac地址的数据包
iptables -A FORWARD -i eth0 -o eth1 -m mac --mac-source 00:50:04:AB:A2:49 -j ACCEPT
#指定上网电脑的IP。如果别人改为这个IP也没有用。因为不能转发
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.1 -j MASQUERADE
发表于 2003-9-20 09:54:52 | 显示全部楼层

汗、厉害!

佩服
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表