Debian Squeeze 作为路由器

Debian Squeeze 作为路由器

我正在尝试将 Debian Squeeze (ala Dreamplug) 设置为路由器。我似乎无法将各个部分组合在一起。

ETH0:上行/互联网 - DHCP 客户端
ETH1:下行/Lan - 192.168.0.1 DHCP 服务器

sudo vim /etc/网络/接口

auto lo br0
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
        iface eth1 inet static
        address 192.168.0.1
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255

iface br0 inet dhcp
        bridge_ports eth0 eth1

sudo vim /etc/dhcp/dhcpd.conf

option domain-name "MyPlug.MyServer.com";
option domain-name-servers 8.8.8.8, 192.168.0.1;

default-lease-time 600000000;
max-lease-time 720000000;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.200;
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
}

sudo vim /etc/default/isc-dhcp-server

INTERFACES="eth1"

服务网络重新启动
服务 isc-dhcp-server 重新启动

我的 Windows 7 机器在我强制释放/更新后获取了一个 IP。我能够让它通过腻子连接到服务器一次。

我的设置有什么明显错误吗?或者我还可以寻找什么?

答案1

不要桥接内部和外部接口。你的盒子是路由器,不是交换机。要使您的机器成为路由器,您必须告诉它在接口之间转发数据包。我这样做是通过echo 1>/proc/sys/net/ipv4/ip_forward. IIRC 的方法(TM)是在 /etc/sysctl.conf 中添加一行net.ipv4.ip_forward=1,然后执行/etc/init.d/procps restart

proc 文件系统通常挂载到 /proc,将内核信息和配置表示为可读写的文件。通过向 /proc/sys/net/ipv4/ip_forward 写入 0 或 1,我们可以禁用或启用内核功能在接口之间转发 IP 数据包。我们希望内核转发数据包!

现在你的机器是路由器,但你还需要伪装。为此,您需要:

iptables -t nat -A POSTROUTING -i eth1 -o eth0 -j MASQUERADE(看http://tldp.org/HOWTO/IP-Masquerade-HOWTO/如果你想了解更多)

只要我们使用 IPv4:您只能从 ISP 获得一个 IP 地址,并且您的所有客户端在与互联网上的系统交互时共享这一地址。伪装会处理处理 IP 地址共享的所有事务。关键是我们需要告诉 iptables 何时应用伪装。如果 iptables 不再接受 -i 和 -o ,合适的替换规则是

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE

您可能需要将子网定义 192.168.0.0/24(两者!)替换为子网你的客户住在。该规则规定“对源自客户端子网并发送至客户端子网外部主机的所有数据包进行伪装”

我不知道 Dreamplug,但您应该有一些文件 /etc/firewall* 或 /etc/iptables* 您可以在其中添加此语句,以便在每次重新启动时执行此语句。检查您的文档中的“防火墙规则”以及必须将其放置的位置。

对于您的 DHCP 配置,您的租用时间似乎长得离谱。拿3-5 0折。此外,也有可能有些客户无法/不处理如此大的数字。此外,您还应该颠倒域名服务器的顺序。客户端将首先询问列表中的第一个服务器。如果您的路由器也充当名称服务器,它很可能会记住以前的查询一段时间。这意味着,如果您的客户第二次请求相同的地址,与询问谷歌名称服务器相比,答案会快得多。

答案2

拆掉桥。这种安排是不安全的。

相反,安装该arno-iptables-firewall软件包即可轻松、安全地设置安全的路由器配置。它将为您完成剩下的工作。

来自 Debian 软件包描述:

与 Debian 中的其他精益 iptables 前端不同,arno-iptables-firewall 只需提出几个问题即可设置并加载安全的、限制性的防火墙。这包括配置内部网络以通过 NAT 和潜在的网络服务(例如 http 或 ssh)访问互联网。

除非您知道如何自行安全地设置 iptables,否则请安装此软件包。

相关内容