Ubuntu

在 Linux 中從 SLIP 隧道傳輸 IPv6 流量

  • January 6, 2019

在過去的幾天裡,我試驗了 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 介面沒有以某種方式連接。Wireshark 擷取 tun0 流量。

問題如下:我應該如何在 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 的實現。

引用自:https://unix.stackexchange.com/questions/322653