我试图build立一个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是互联网,具有dynamicIP。 eth1是局域网。
我有DHCP服务器工作,电脑获得IP地址。 我不确定我是否已经正确configuration了计算机来parsing域名。
这是我的dhcpd.conf文件。 请注意,我注释了DNS部分,因为我不运行绑定(我应该?)
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谷歌,我得到“目标主机不可达”/“未知的主机”。
我错过了什么? 谢谢!
您在/etc/dhcpd.conf指定的路由器是10.0.0.254 ,但是您要configuration的Ubuntu(显然)在10.0.0.1 。
所以你的客户端机器的数据包甚至不会被发送到Ubuntu盒子进行NAT处理和转发。
10.0.0.2上的/etc/resolv.conf的内容是什么? 如果没有configuration有用的名称服务器 ,则无法通过主机名进行ping操作。 使用DHCPD为所有客户端设置名称服务器或手动configuration它们。
如果您不运行绑定 ,则可以始终使用公共可用的DNS服务器,例如Google最近推出的DNS服务。 使用8.8.8.8和8.8.4.4名称服务器。
另外,如果这是一个小型的家庭/局域网设置,你可能要考虑使用dnsmasq,而不是你的dhcp / dns服务器。 它可以作为本地networking的DHCP服务器和 DNS服务器。