![如何将我的 Ubuntu 机器设置为运行 Contiki 的“zolertia z1 mote”的路由器(从另一台 PC Ping Border 路由器)](https://linux22.com/image/990728/%E5%A6%82%E4%BD%95%E5%B0%86%E6%88%91%E7%9A%84%20Ubuntu%20%E6%9C%BA%E5%99%A8%E8%AE%BE%E7%BD%AE%E4%B8%BA%E8%BF%90%E8%A1%8C%20Contiki%20%E7%9A%84%E2%80%9Czolertia%20z1%20mote%E2%80%9D%E7%9A%84%E8%B7%AF%E7%94%B1%E5%99%A8%EF%BC%88%E4%BB%8E%E5%8F%A6%E4%B8%80%E5%8F%B0%20PC%20Ping%20Border%20%E8%B7%AF%E7%94%B1%E5%99%A8%EF%BC%89.png)
如何让我的 Ubuntu 机器成为 (Zolertia) z1 mote 的路由器
**Contiki OS**
在通过 USB 电缆连接到我的笔记本电脑的它上面,我在笔记本电脑上运行 tunslip6,为 USB 连接的 z1 制作网络接口。我可以从我的 PC(它通过 USB 电缆连接)ping 这个 z1(边界路由器),但我无法从同一网络的另一台 PC/笔记本电脑 ping 它(z1 边界路由器)。有人能帮我解决这个问题吗?我被困了很长时间,我也修改了这三个文件
etc/radvd.conf
etc/network/interfaces
etc/sysctl.conf
but I think I couldn't modify them accurately.
Please some one help me on this I am in a tight situation
答案1
默认情况下,内核禁用数据包转发。您可以检查该命令的输出:
cat /proc/sys/net/ipv4/ip_forward
如果为 0 那么它被禁用。
您可以通过以下方式启用它:
echo 1 > /proc/sys/net/ipv4/ip_forward
如果您仍然无法从内部网络 ping 通,请检查您的 ubuntu 防火墙,并检查您是否为内部网络指定了正确的网关。iptables 规则如下:
sudo iptables -P FORWARD ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.2.0/24
iproute 设置:
sudo ip route del default
sudo ip route add default via 192.168.1.1
192.168.2.0/24 是您要转发流量的子网,192.168.1.1 是您的网关。您需要在要共享互联网连接的计算机上输入所有命令。
在您的子网内,您需要执行以下操作:
sudo ip route del default
sudo ip route add default via 192.168.2.15
sudo sh -c "echo 'nameserver 192.168.1.1' > /etc/resolv.conf"
其中 192.168.2.15 是您的子网中连接到共享互联网的机器的节点。