การทำ tunnel เพื่อให้ IPv6 Host ติดต่อกับ IPv6 Host ผ่านเครือข่าย IPv4

ทดสอบบน Redhat 7.2 kernal 2.4.18 หรือ Redhat 8.0 kernal 2.4.18
ไฟล์ที่เกี่ยวข้อง
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-sitX (X = 0, 1, 2, ... , n)

* The full project can now be found on DeepSpace6: http://www.deepspace6.net/projects/initscripts-ipv6.html

/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=seal.cat.or.th
GATEWAY=202.6.107.1
NETWORKING_IPV6=yes
IPV6_AUTOTUNNEL=yes /* ถ้าต้องการทำ 6to4 automatic tunnel */

/etc/sysconfig/network-scripts/ifcfg-eth0 /* IPv6 Host*/
DEVICE=eth0
BOOTPROTO=static
BROADCAST=202.47.250.255
IPADDR=202.47.250.65
NETMASK=255.255.255.0
NETWORK=202.47.250.0
ONBOOT=yes
IPV6INIT=yes
IPV6ADDR=2001:0C38:0002:0001::000A/64 /* กำหนด IPv6 address ให้กับ interface eth0 */

/etc/sysconfig/network-scripts/ifcfg-eth0 /* IPv6 Workstation */
DEVICE=eth0
BOOTPROTO=static
BROADCAST=202.6.107.31
IPADDR=202.6.107.11
NETMASK=255.255.255.224
NETWORK=202.6.107.0
ONBOOT=yes
IPV6INIT=yes
IPV6ADDR=2001:0C38:0001:0001::000A/64 /* กำหนด IPv6 address ให้กับ interface eth0 */

/etc/sysconfig/network-scripts/ifcfg-sit1 /* IPv6 Host */
DEVICE=sit1
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6TUNNELIPV4=202.6.107.11 /* ทำ tunnel เป็น destination ip address ของเครือข่ายที่จะทำ tunnel ด้วย */
IPV6ADDR=2001:0C38:0010:0010::11/64

/etc/sysconfig/network-scripts/ifcfg-sit1 /* IPv6 Workstation*/
DEVICE=sit1
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6TUNNELIPV4=202.47.250.65 /* ทำ tunnel เป็น destination ip address ของเครือข่ายที่จะทำ tunnel ด้วย */
IPV6ADDR=2001:0C38:0011:0010::65/64

ใช้คำสั่ง /etc/rc.d/init.d/network restart เพื่อให้ค่าที่ตั้งไว้มีผล

ใช้คำสั่ง (บนเครื่อง IPv6 Host)
route add 2001:0c38:0010:0010::/64 sit1
เป็นการระบุว่า กรณีที่จะต้องติดต่อกับ network prefix 2001:c38:10:10::/64 ให้ส่งข้อมูลไปทาง sit1

ใช้คำสั่ง (บนเครื่อง IPv6 Worksหtationt)
route add 2001:0c38:0011:0010::/64 sit1
เป็นการระบุว่า กรณีที่จะต้องติดต่อกับ network prefix 2001:c38:11:10::/64 ให้ส่งข้อมูลไปทาง sit1

สามารถตรวจสอบได้ด้วย คำสั่ง ifconfig เพื่อดูข้อมูลของ Interface
และคำสั่ง route -A inet6 เพื่อดู route table ของระบบ

การทำ static route สามารถกำหนดได้ใน /etc/sysconfig/static-routes-ipv6
Global definitions of static routes (perhaps the support is going obsolete in the future). Normal default gateway or device shouldn't be specified here, use options DEFAULTGW or DEFAULTDEV instead.

Example for IPv6 static routes per interface

#Device IPv6 network to route IPv6 gateway address
eth0 fec0:0:0:2::/64 fec0:0:0:1:0:0:0:20
eth0 2000::/3 3ffe:ffff:0000:f102:0:0:0:1

Example for IPv6 static routes per tunnel
# Virtual tunnel interface IPv6 network to route through
sit1 2000::/3



CAT IPv6 Project