下一页 上一页 目录

1. 简介

正如您从我蹩脚的语言中可以看出,英语不是我的母语。我用英语撰写本文档是为了 Linux 社区。所以,请原谅我糟糕的英语。而且,如果您说葡萄牙语,请用这种语言和我交流。

本文档旨在启发您(和我自己)构建 Linux 网关或防火墙的过程,该网关或防火墙可以在用户从 Windows 工作站登录或注销时按需修改规则。

在本文档中,我将尝试展示如何构建网关,以对 Windows 工作站进行 NAT 或 MASQUERADE。您可以发挥您的想象力来修改它,以获得任何级别的网络管理。您可以使用它来授权或拒绝访问您网络上的服务、服务器或整个子网。

假设您必须构建一个网关,让 Windows 工作站访问互联网,并且您需要在允许每个用户访问外部网络之前对其进行身份验证。您想到的第一个解决方案是 Squid。当 http 和 ftp 访问足以满足您的用户需求时,这确实是一个很好的解决方案。但是,当涉及到让他们访问其他服务(如 pop、smtp、ssh、数据库服务器或其他任何服务)时,您会立即想到 NAT 或 MASQUERADE。但是用户身份验证会发生什么呢?

嗯,这就是我的解决方案。它可以为您提供用户身份验证以及对其访问外部网络的细粒度控制。

1.1 概述

我们知道 SAMBA 可以充当域控制器,因此它可以对 Windows 计算机上的用户进行身份验证。作为 PDC,SAMBA 可以将 netlogon 脚本推送到 Windows 工作站。我们可以使用这些 netlogon 脚本强制 Windows 工作站从我们的 Linux PDC 挂载给定的共享。这个“强制”共享应具有 preexec 和 postexec 脚本,这些脚本将在用户登录或注销时触发。有一个名为 smbstatus 的程序,它可以列出正在使用的共享,同时还提供工作站的用户名和 IP 地址。我们只需要从 smbstatus 输出中 grep 这些信息,并更新我们的防火墙规则。

1.2 彩蛋

如果您没有耐心并且不喜欢阅读,请访问 http://sourceforge.net/projects/smbgate/,但最终您可能会发现自己又回到这里阅读。

1.3 免责声明

对于本文档的内容不承担任何责任。使用本文档中的概念、示例和其他内容,风险自负。由于这是本文档的新版本,因此可能存在错误和不准确之处,这些错误和不准确之处当然可能会损害您的系统。请谨慎操作,尽管这种情况极不可能发生,但作者不对此承担任何责任。

所有版权均归其各自所有者所有,除非另有明确说明。本文档中术语的使用不应被视为影响任何商标或服务标记的有效性。

对特定产品或品牌的命名不应被视为认可。

1.4 新版本

本文档的最新版本可以在 http://ram.eti.brhttp://www.tldp.org 找到。

相关的 HOWTO 文档可以在 Linux 文档项目主页 https://tldp.cn 找到。

1.5 翻译

提供葡萄牙语版本。

Guillaume Lelarge 提供的法语翻译版本可在 http://www.traduc.org 找到。

匈牙利语翻译版本可在 http://tldp.fsf.hu 找到。

如果您想贡献翻译,请进行翻译。

1.6 反馈

欢迎投稿和批评。

也非常欢迎纠正我的英语!

如果您在包含的脚本中发现任何错误,请告诉我。

您可以在 ricardo@ram.eti.br 或 ricardo.mattar@bol.com.br 找到我。

1.7 版权和商标

版权 (c) 2002-2003 Ricardo Alexandre Mattar

在 GNU 自由文档许可证 1.2 版或自由软件基金会发布的任何后续版本的条款下,允许复制、分发和/或修改本文档;没有不变章节,没有封面文本,也没有封底文本。许可证副本包含在题为“GNU 自由文档许可证”的部分中。

1.8 致谢和感谢

感谢 Carlos Alberto Reis Ribeiro 将我介绍给 Linux。

感谢 Cesar Bremer Pinheiro 激励我撰写本文档。

感谢 Guillaume Lelarge 在修订方面提供的(持续)帮助。

感谢 Erik Esplund 进一步的语言校正。

感谢 Albert Teixid� 改进代码。

感谢 Felipe Cordeiro Caetano 在我的主要测试站点上提供帮助。

感谢安全通信公司 RASEAC 赞助我的工作。


下一页 上一页 目录