允许本地网络访问,但禁止互联网访问
我有一台联网的计算机,被用作远程打印/扫描服务器(由许多用户共享),有什么办法可以阻止机器的互联网访问,同时仍然允许它连接到我们的本地网络?
edit-
本质上,我和部门里的其他5个人共享一台Windows XP机器(这是一种无需购买网络扫描仪而共享扫描仪的变通方法),VNC服务器被设置在 “服务器 "计算机上,每个用户都使用vnc客户端访问机器。机器有自己的账户,我想禁止互联网访问。有什么方法可以在不改变组策略设置的情况下禁止所有计算机本身的互联网访问?
我有一台联网的计算机,被用作远程打印/扫描服务器(由许多用户共享),有什么办法可以阻止机器的互联网访问,同时仍然允许它连接到我们的本地网络?
edit-
本质上,我和部门里的其他5个人共享一台Windows XP机器(这是一种无需购买网络扫描仪而共享扫描仪的变通方法),VNC服务器被设置在 “服务器 "计算机上,每个用户都使用vnc客户端访问机器。机器有自己的账户,我想禁止互联网访问。有什么方法可以在不改变组策略设置的情况下禁止所有计算机本身的互联网访问?
netsh advfirewall firewall add rule name="Block default gateway" dir=out action=block remoteip=192.168.0.1
是个好方法,因为
-相比将
-默认网关地址改为无效地址netsh interface ip set address name="Local Area Connection" static 192.168.0.2 255.255.0.0 0.0.0.0
,它不需要禁用DHCP
-将DNS地址改为无效地址netsh interface ip set dns "Local Area Connection" static 127.0.0.1 validate=no
在不使用DNS的情况下访问(如http://74.125.224.72
)也会被屏蔽
-相比route delete 0.0.0.0 mask 0.0.0.0 192.168.0.1
设置会被保存起来
我想最简单的方法就是设置错误的默认网关。
我尝试了 @MaciekSawicki 提出的解决方案,但我无法让它工作。当我把默认网关设置为无效时,它根本无法连接到网络–即使是本地内网。
相反,我是通过让DHCP(或有效的手动配置)连接,并手动设置DNS来完成的。第一台DNS服务器,我把它设置为无效的IP地址(192.0.0.0
),第二台留空,所以任何域都无法解析到IP地址。这意味着任何明确使用IP而不是域名的东西都可以工作,但所有名字都会失败。这使得它对于试图检查他们的facebook的终端用户来说非常无用。如果你想添加一个允许用户解析的域名列表,你可以把它们放在一个 hosts 文件中。只要确保保持更新,如果IP地址变化。
我也认为,改变路由器中的默认路由应该可以做到这一点。但是,这并不能阻止路由器的路由,如果有人指向它。改变DHCP服务器发布的默认路由,只会删除客户端电脑的默认路由。任何人手动添加路由后,就会重新获得上网权限。而删除路由本身的默认路由可能并不是一个好主意,因为它拒绝了所有人对互联网的访问。
另一种解决方案可能是基于源IP的路由。你可以阻止x.x.x.128以下的IP地址访问互联网,允许其他人访问。如果你有一个基于Linux的路由器,这样的规则很容易被编程。如果是像你在商店买的路由器,这可能是一个更大的挑战。
许多路由器也可能有访问权限,可以基于IP范围。检查你自己的路由器配置。或者直接使用Linux!
到目前为止,最简单的方法(但任何技术性的人都可以绕过)是简单地进入互联网属性,将代理改为不存在的东西。
除此以外,如果你没有内网,你可以看看Windows防火墙(如果是Vista+,不知道XP是否支持),屏蔽80端口出站。
如果机器没有被锁定,这两种方法都可以反制。
就个人而言,如果除了程序之外,用户没有任何理由使用这台机器,就通过组策略完全锁定它。