我正在尝试设置一个 Ubuntu 服务器,首先我想让它充当 NAT/路由器/防火墙。我的问题是:如何使连接到局域网的计算机能够访问互联网?
eth0 Link encap:Ethernet HWaddr 00:1c:23:87:d3:be
inet addr:213.101.213.177 Bcast:213.101.213.191 Mask:255.255.255.192
inet6 addr: fe80::21c:23ff:fe87:d3be/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16037 errors:0 dropped:0 overruns:0 frame:0
TX packets:13626 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2268865 (2.2 MB) TX bytes:1258854 (1.2 MB)
Interrupt:26 Base address:0x6000
eth1 Link encap:Ethernet HWaddr 00:1b:21:4f:e4:0b
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:fe4f:e40b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:929 errors:0 dropped:0 overruns:0 frame:0
TX packets:309 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:100820 (100.8 KB) TX bytes:45571 (45.5 KB)
eth0 是互联网,具有动态 IP。eth1 是 LAN。
我已经让 dhcp 服务器运行,计算机也获取了 IP 地址。但我不确定我是否已正确配置计算机以解析域名。
这是我的dhcpd配置文件文件。请注意,我注释掉了 dns 部分,因为我没有运行 bind(我应该运行吗?)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.254;
#option domain-name-servers 10.0.0.1;
option domain-name "server.mydomain.com";
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.2 10.0.0.200;
}
这些是我添加到顶部的规则/etc/ufw/before.rules
# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic from eth1 through eth0
-A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT
ufw 状态:(默认也设置为允许)
Status: active
To Action From
-- ------ ----
Anywhere ALLOW 10.0.0.0/24
当我尝试从计算机 10.0.0.2 ping Google 时,收到“目标主机无法访问”/“未知主机”的提示。
我错过了什么?谢谢!
答案1
您在 中指定的路由器/etc/dhcpd.conf
是10.0.0.254
,但您尝试配置的 Ubuntu 框(显然)在 上10.0.0.1
。
因此,您的客户端机器的数据包甚至不会被发送到 Ubuntu 机器进行 NAT 处理和转发。
答案2
10.0.0.2 上的内容是什么/etc/resolv.conf
?如果没有有用的名称服务器配置完成后,您将无法通过主机名进行 ping 操作。请使用 DHCPD 为所有客户端设置名称服务器,或者手动配置它们。
如果你不跑绑定您始终可以使用公开可用的 DNS 服务器,例如 Google 最近推出的 DNS 服务。使用8.8.8.8
和8.8.4.4
名称服务器。
或者,如果这是一个小型家庭/局域网设置,您可能需要考虑使用域名系统而不是您的 dhcp/dns 服务器。它既可以用作 DHCP 服务器和您的本地网络的 DNS 服务器。