如何将我的 Ubuntu 机器设置为运行 Contiki 的“zolertia z1 mote”的路由器(从另一台 PC Ping Border 路由器)

如何将我的 Ubuntu 机器设置为运行 Contiki 的“zolertia z1 mote”的路由器(从另一台 PC Ping Border 路由器)

如何让我的 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 是您的子网中连接到共享互联网的机器的节点。

相关内容