eth0
我已经设置了一个可以连接到互联网的MaaS 服务器和eth1
一个连接 MaaS 节点的内部交换机。我可以在 Trusty Ubuntu 上调试和部署节点,但这些节点只能nslookup
在外部服务器上运行,而不能ping
。我怀疑默认网关可能配置错误,但不知道如果配置错误应该如何操作。
您知道这个实例的正确配置应该是什么吗:
MaaS 服务器
graeme@MAAS:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:5d:00:07:04
inet addr:192.168.0.4 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fe00:704/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:933 errors:0 dropped:3 overruns:0 frame:0
TX packets:796 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:814964 (814.9 KB) TX bytes:81546 (81.5 KB)
eth1 Link encap:Ethernet HWaddr 00:15:5d:00:07:05
inet addr:10.1.1.100 Bcast:10.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fe00:705/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:999 (999.0 B) TX bytes:1842 (1.8 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:13351 errors:0 dropped:0 overruns:0 frame:0
TX packets:13351 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3635226 (3.6 MB) TX bytes:3635226 (3.6 MB)
virbr0 Link encap:Ethernet HWaddr 92:7f:58:38:c8:79
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
graeme@MAAS:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
graeme@MAAS:~$ sudo cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.4
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 10.1.1.100 192.168.0.1
auto eth1
iface eth1 inet static
address 10.1.1.100
netmask 255.255.255.0
graeme@MAAS:~$ nslookup google.com
Server: 10.1.1.100
Address: 10.1.1.100#53
Non-authoritative answer:
Name: google.com
Address: 216.58.198.110
graeme@MAAS:~$ ping google.com
PING google.com (216.58.198.110) 56(84) bytes of data.
64 bytes from lhr25s07-in-f14.1e100.net (216.58.198.110): icmp_seq=1 ttl=54 time=19.9 ms
64 bytes from lhr25s07-in-f14.1e100.net (216.58.198.110): icmp_seq=2 ttl=54 time=18.6 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 18.651/19.324/19.997/0.673 ms
节点服务器
ubuntu@node-1-tidy-balls:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:5d:00:07:03
inet addr:10.1.1.151 Bcast:10.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fe00:703/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1809 errors:0 dropped:0 overruns:0 frame:0
TX packets:256 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:151375 (151.3 KB) TX bytes:35520 (35.5 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1184 (1.1 KB) TX bytes:1184 (1.1 KB)
ubuntu@node-1-tidy-balls:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.1.100 0.0.0.0 UG 0 0 0 eth0
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
ubuntu@node-1-tidy-balls:~$ sudo cat /etc/network/interfaces
auto lo
iface lo inet loopback
dns-nameservers 10.1.1.100
dns-search maas
auto eth0
iface eth0 inet static
gateway 10.1.1.100
address 10.1.1.151/24
mtu 1500
ubuntu@node-1-tidy-balls:~$ nslookup google.com
Server: 10.1.1.100
Address: 10.1.1.100#53
Non-authoritative answer:
Name: google.com
Address: 216.58.198.110
ubuntu@node-1-tidy-balls:~$ ping google.com
PING google.com (216.58.198.110) 56(84) bytes of data.
^C
--- google.com ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4032ms
由于一分钟后没有返回任何内容,因此必须取消对节点的 ping。
答案1
在您的 MaaS 服务器上...
先在你的界面上添加规则,发布上下发。
auto eth1
iface eth1 inet static
address 10.1.1.100
netmask 255.255.255.0
post-up iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.4
post-down iptables -t nat -D POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.4
然后您需要启用 IP 转发。/etc/sysctl.conf
通过添加以下行进行编辑。
net.ipv4.ip_forward=1
这将在重新启动时生效,但您也可以通过发出以下命令即时触发它...
echo 1 > /proc/sys/net/ipv4/ip_forward