Ubuntu
在 Linux 中從 SLIP 隧道傳輸 IPv6 流量
在過去的幾天裡,我試驗了 6loWPAN 技術。由於缺乏 linux 和電腦網路方面的經驗,現在我無法繼續我的實驗。我的設置如下:
我已經建立了感測器網路,由節點和路由器組成,路由器連接到我在 PC 上的 Ubuntu 虛擬機,這台 PC 也通過 eth0 介面連接到 Internet。通過 tunslip6 實用程序建立從感測器路由器到 PC 的連接,該實用程序創建 tun0 介面。Tunslip6 輸出:
********SLIP started on ``/dev/ttyACM0'' opened tun device ``/dev/tun0'' ifconfig tun0 inet `hostname` up ifconfig tun0 add aaaa::1/64 ifconfig tun0 add fe80::0:0:0:1/64 ifconfig tun0 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:127.0.1.1 P-t-P:127.0.1.1 Mask:255.255.255.255 inet6 addr: fe80::1/64 Scope:Link inet6 addr: aaaa::1/64 Scope:Global UP POINTOPOINT RUNNING NOARP 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:500 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Starting Contiki-3.x-2924-g6cdba10 With DriverLib v0.46593 TI CC1310 DIY module rev. 0.shit.1 IEEE 802.15.4: No, Sub-GHz: Yes, BLE: No, Prop: No Net: sicslowpan MAC: CSMA RDC: ContikiMAC, Channel Check Interval: 16 ticks RF: Channel 25 Node ID: 613 *** Address:aaaa::1 => aaaa:0000:0000:0000 Got configuration message of type P Setting prefix aaaa:: Server IPv6 addresses: aaaa::212:4b00:af6:265 fe80::212:4b00:af6:265
但是當我的感測器節點嘗試訪問 www.contiki-os.org 時,它甚至無法豐富 DNS 伺服器。正如我想的那樣,這是因為 tun0 和 eth0 介面沒有以某種方式連接。
問題如下:我應該如何在 eth0 和 tun0 之間創建連接以使我的節點能夠訪問 Internet?我的 Ubuntu 虛擬機的 ifconfig 輸出:
eth0 Link encap:Ethernet HWaddr 00:0c:29:cb:f8:95 inet addr:192.168.202.131 Bcast:192.168.202.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fecb:f895/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:82922 errors:0 dropped:0 overruns:0 frame:0 TX packets:54933 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:78915513 (78.9 MB) TX bytes:5782093 (5.7 MB) Interrupt:19 Base address:0x2000 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:6854 errors:0 dropped:0 overruns:0 frame:0 TX packets:6854 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1068353 (1.0 MB) TX bytes:1068353 (1.0 MB) tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:127.0.1.1 P-t-P:127.0.1.1 Mask:255.255.255.255 inet6 addr: fe80::1/64 Scope:Link inet6 addr: aaaa::1/64 Scope:Global UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:12 errors:0 dropped:0 overruns:0 frame:0 TX packets:18 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:944 (944.0 B) TX bytes:1410 (1.4 KB)
您將需要實施 NAT64。NAT64 執行從 IPv6 到 IPv4 的網路地址轉換。Tayga是 Linux 的實現。