将 Ubuntu 变成最小的 NAT?

将 Ubuntu 变成最小的 NAT?

我需要使用 Ubuntu 10.10 盒子快速创建一个 NAT。只有“此端通过 DHCP 分配 192.168.x.0/24 进行 NAT”和“此端网关到 Internet”,没有其他有趣的东西。似乎有很多选择,文档的程度各不相同。最简单的方法是什么?

答案1

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.d/10-network-security.conf
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o externaleth -j SNAT --to externalip
apt-get install dhcp3-server
gedit /etc/default/dhcp3-server
interfaces="internaleth1" #eth2 or eth3 or whatyouhave :D
gedit /etc/dhcp3/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers                  192.168.0.1; #yours itnernal ip
    option subnet-mask              255.255.255.0;

    option domain-name              "mylan.com";
    option domain-name-servers       192.168.0.1;
    range 192.168.0.2 192.168.0.254;
}

apt-get install dns-masq
service dhcp3-server restart
  1. 设置 nat
  2. 安装 dhcpd 服务器
  3. 安装 dnsmasq 来处理选项域名服务器 192.168.0.1;或者您可以将其设置为 8.8.8.8 并跳过安装 dns-masq

答案2

事实上,我就是这么做的——有几年时间,一台旧的 HP 小型塔式机一直作为我家网络的路由器,直到一次停电时它被烧坏了(硬件不值得去排除故障);很快,我将为这个目的构建一个全新的系统,因此,在构建过程中,我一定会写一份操作指南。

但与此同时,我会向你指出我使用的相同资源:岸墙,特别是如何双接口防火墙。该网站的文档中也有类似的文章介绍单接口和三接口设置,因此请选择最适合您需求的文章。我发现使用 Shorewall 比直接操作 iptables 要容易得多,也直观得多(Shorewall 实际上只是位于 iptables 之上的配置层,因此最终结果非常相似,只是它处理了很多您甚至不会想到的基本、低级的东西,例如 smurfs(以广播地址为源的数据包)和 martians(具有不可能源地址的数据包))。

相关内容