Difference between revisions of "IPv6 on FreeBSD 6.2"

From Secure Computing Wiki
Jump to: navigation, search
(New page: After seeing the recommendation from ARIN that everyone adopt IPv6 [http://www.arin.net/announcements/20070521.html], I decided to see what it would take to implement it on my network here...)
 
Line 19: Line 19:
 
ifconfig gif0 inet6 $ip6my_end
 
ifconfig gif0 inet6 $ip6my_end
 
route add -inet6 default $ip6ISP_end</pre>
 
route add -inet6 default $ip6ISP_end</pre>
 +
 +
You should, at this point, be able to test your connection by using the ping6 command to ping your ISP's IPv6 address:
 +
<pre>
 +
-> ping6 fe80:4980:1::5
 +
PING6(56=40+8+8 bytes) fe80:4980:1::6 --> fe80:4980:1::5
 +
16 bytes from fe80:4980:1::5, icmp_seq=0 hlim=64 time=39.349 ms
 +
16 bytes from fe80:4980:1::5, icmp_seq=1 hlim=64 time=39.338 ms
 +
16 bytes from fe80:4980:1::5, icmp_seq=2 hlim=64 time=39.327 ms
 +
16 bytes from fe80:4980:1::5, icmp_seq=3 hlim=64 time=39.816 ms
 +
16 bytes from fe80:4980:1::5, icmp_seq=4 hlim=64 time=39.301 ms
 +
^C
 +
--- fe80:4980:1::5 ping6 statistics ---
 +
5 packets transmitted, 5 packets received, 0.0% packet loss
 +
round-trip min/avg/max/std-dev = 39.301/39.426/39.816/0.196 ms
 +
</pre>

Revision as of 19:15, 26 June 2007

After seeing the recommendation from ARIN that everyone adopt IPv6 [1], I decided to see what it would take to implement it on my network here.

The following are the steps I took to implement IPv6. Your mileage may vary.

Obtain IPv6 Address Block

The first thing I did was contact my ISP to see if they supported IPv6 natively on their network. Fortunately, the did. If you don't have an ISP that does, you can check out http://www.go6.net. Last I checked, they support IPv6 over IPv4 tunneling and will even delegate reverse DNS to your servers!

Route IPv6 Address Block

The second hurdle I needed to jump was getting my address block routed to my systems. Unfortunately, I am stuck with a low-end DSL router, and, as such, it does not support the newest Internet Protocol addresses. The solution was to utilize a gif tunnel between my FreeBSD 6.2 gateway and my ISP's Cisco router. Note: I don't know what my ISP did with the router on their end to setup the tunnel.

On my end of the tunnel, I needed to perform the following series of commands:

  1. Create a gif interface.
  2. Setup tunnel endpoints.
  3. Assign IPv6 address to interface.
  4. Add route to routing table.

These commands look like the following:

ifconfig gif0 create
ifconfig gif0 tunnel $ip4my_end $ip4ISP_end
ifconfig gif0 inet6 $ip6my_end
route add -inet6 default $ip6ISP_end

You should, at this point, be able to test your connection by using the ping6 command to ping your ISP's IPv6 address:

-> ping6 fe80:4980:1::5
PING6(56=40+8+8 bytes) fe80:4980:1::6 --> fe80:4980:1::5
16 bytes from fe80:4980:1::5, icmp_seq=0 hlim=64 time=39.349 ms
16 bytes from fe80:4980:1::5, icmp_seq=1 hlim=64 time=39.338 ms
16 bytes from fe80:4980:1::5, icmp_seq=2 hlim=64 time=39.327 ms
16 bytes from fe80:4980:1::5, icmp_seq=3 hlim=64 time=39.816 ms
16 bytes from fe80:4980:1::5, icmp_seq=4 hlim=64 time=39.301 ms
^C
--- fe80:4980:1::5 ping6 statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 39.301/39.426/39.816/0.196 ms