设置一个Linux服务器共享一个互联网连接

我正在重新configuration我的networking。 目前是这样的:

internet - modem - wireless router - wired server/clients | |---- wireless clients 

但我需要移动路由器来为无线客户端获得更好的信号。 所以,我正在看这个:

 internet - modem - server - switch - wired clients | |---- wireless router - wireless clients 

我如何设置服务器来启用它? 另外,客户需要什么设置。

服务器是Ubuntu 9.04,客户端是Windows XP / 7,Ubuntu和打印机的组合。

我相信这个新的设置将允许我控制访问互联网,这将是有益的。

你将需要在Linux上configuration:

  • 路由[数据包转发]
  • networking地址解读

为了使事情更容易,你可能还想在Linux上设置:

  • recursionDNS服务器
  • DHCP服务器

在这里寻找那些。

当你得到精通时,你可能会对stream量整形感兴趣,以公平的方式在站点之间共享带宽。

如果你有你的ISP的公共IP,你可能想做端口转发 – 谷歌的iptables dnat

如果你使用dhcp,你不需要在你的windows [或任何其他系统]客户端上configuration任何东西。

经过几个小时的寻找信息,我偶然发现了一个完美的小工具,以获得上述工作 – dnsmasq。 我卸载了dhcp3-server和bind9,安装了dnsmasq,写了一个两行的configuration文件(使用哪个网卡和DHCP地址范围来使用),重新启动,一切正常。

现在没有来自我的用户的压力,我可以花时间弄清楚一切是如何运作的。 我不确定dnsmasq有多灵活,但现在我可以把时间花在这个上面。