<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IPv6 &#8211; SophieDogg</title>
	<atom:link href="https://sophiedogg.com/category/ipv6/feed/" rel="self" type="application/rss+xml" />
	<link>https://sophiedogg.com</link>
	<description>Dogg of all trades, Master of no one.</description>
	<lastBuildDate>Fri, 15 Oct 2021 12:04:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6</generator>
	<item>
		<title>Funny IPv6 Words</title>
		<link>https://sophiedogg.com/funny-ipv6-words/</link>
					<comments>https://sophiedogg.com/funny-ipv6-words/#comments</comments>
		
		<dc:creator><![CDATA[SophieDogg]]></dc:creator>
		<pubDate>Sun, 29 Sep 2013 17:12:17 +0000</pubDate>
				<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[DNS]]></category>
		<guid isPermaLink="false">http://sophiedogg.com/?p=970</guid>

					<description><![CDATA[Previously I did a post on how to have some Fun With IPv6 Words, and how to generate an IPv6 word list, but one request I keep getting is for a smaller list of just the funny IPv6 words. So, below I went through the word list that I previously generated, pulled out just the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Previously I did a post on how to have some <a href="https://sophiedogg.com/fun-with-ipv6-words" title="Fun With IPv6 Words" target="_blank" rel="noopener">Fun With IPv6 Words</a>, and how to generate an IPv6 word list, but one request I keep getting is for a smaller list of just the funny IPv6 words.  <span id="more-970"></span></p>
<p>So, below I went through the word list that I previously generated, pulled out just the funnier words, and made some &#8220;IPv6 phrases.&#8221;  Can you find any more?  Let me know in the comments!</p>
<h5>Funny IPv6 Phrases</h5>
<table>
<tr>
<td>a1f:ea75:ca75</td>
<td>bad:babe:a9ed:18</td>
<td>dead:beef:ca1f</td>
<td>d0d0:i5:dead</td>
</tr>
<tr>
<td>alf eats cats</td>
<td>bad babe aged 18</td>
<td>dead beef calf</td>
<td>dodo is dead</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>b19:ba11:bag</td>
<td>a11:beef:c1ad:babe</td>
<td>1ce:1ce:babe</td>
<td>a11:beef:7ac0</td>
</tr>
<tr>
<td>big ball bag</td>
<td>all beef clad babe</td>
<td>ice ice babe</td>
<td>all beef taco</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>b19:b00b:babe</td>
<td>1:see:bad:c0de</td>
<td>b19:b00b:babe:cafe</td>
<td>b19:a55:9a1a</td>
</tr>
<tr>
<td>big boob babe</td>
<td>I see bad code</td>
<td>big boob babe cafe</td>
<td>big ass gala</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>b19:7175:babe</td>
<td>deaf:d0e:15:f00d</td>
<td>1337:c0de:4:11fe</td>
<td>ba1d:babe:be:be5t</td>
</tr>
<tr>
<td>big tits babe</td>
<td>deaf doe is food</td>
<td>leet code 4 life</td>
<td>bald babe be best</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>ea7:beef:7ac0:d095</td>
<td>dead:beef:cafe</td>
<td>1:ea7:dead:beef</td>
<td>ba1d:7ac0:be:be5t</td>
</tr>
<tr>
<td>eat beef taco dogs</td>
<td>dead beef café</td>
<td>I eat dead beef</td>
<td>bald taco be best</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>b19:fa7:d00b</td>
<td>1:be:a:7001</td>
<td>5a11:a:b0a7</td>
<td>9a1:g07:a:70ad:face</td>
</tr>
<tr>
<td>big fat doob</td>
<td>I be a tool</td>
<td>sail a boat</td>
<td>gal got a toad face</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>a11:90d5:be:11e5</td>
<td>7a11:a1e:cafe</td>
<td>c01d:c01a:cafe</td>
<td>1d1e:f001</td>
</tr>
<tr>
<td>all gods be lies</td>
<td>tall ale cafe</td>
<td>cold cola cafe</td>
<td>idle fool</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>1:907:a:fa7:10af</td>
<td>aced:a11:7e57</td>
<td>9a9a:i5:dead</td>
<td>da75:a:900d:90a7</td>
</tr>
<tr>
<td>i got a fat loaf</td>
<td>aced all test</td>
<td>gaga is dead</td>
<td>dats a good goat</td>
</tr>
</table>
<p>Below are some of the funnier IPv6 words that you can spell.  Let me know if you can make up any funny phrases in the comments!</p>
<h5>Funny IPv6 Words</h5>
<table>
<tr>
<td>abba</td>
<td>ba95</td>
<td>b0a5</td>
<td>cfc</td>
<td>deaf</td>
<td>eff</td>
<td>f1d0</td>
<td>91f7</td>
<td>1a55</td>
<td>5e11</td>
</tr>
<tr>
<td>abc</td>
<td>ba11</td>
<td>b0a7</td>
<td>c1ad</td>
<td>dea1</td>
<td>e99</td>
<td>f19</td>
<td>919</td>
<td>1a57</td>
<td>51de</td>
</tr>
<tr>
<td>abcd</td>
<td>ba1d</td>
<td>b0b</td>
<td>c1ef</td>
<td>deb</td>
<td>e990</td>
<td>f195</td>
<td>919a</td>
<td>1a7e</td>
<td>517</td>
</tr>
<tr>
<td>abe</td>
<td>ba1e</td>
<td>b0b5</td>
<td>c0a1</td>
<td>deb7</td>
<td>e995</td>
<td>f17</td>
<td>9191</td>
<td>1ead</td>
<td>517e</td>
</tr>
<tr>
<td>abe1</td>
<td>ba5e</td>
<td>b0b0</td>
<td>c0a7</td>
<td>dec</td>
<td>e1f</td>
<td>f175</td>
<td>9190</td>
<td>1eaf</td>
<td>510b</td>
</tr>
<tr>
<td>ab1e</td>
<td>ba55</td>
<td>b0d</td>
<td>c0b</td>
<td>dee</td>
<td>e1f5</td>
<td>f122</td>
<td>911</td>
<td>1eed</td>
<td>50b</td>
</tr>
<tr>
<td>ace</td>
<td>ba7</td>
<td>b0de</td>
<td>c0bb</td>
<td>deed</td>
<td>e7c</td>
<td>f1ea</td>
<td>91ee</td>
<td>1ee7</td>
<td>50d</td>
</tr>
<tr>
<td>aced</td>
<td>ba7e</td>
<td>b0d5</td>
<td>c0b5</td>
<td>dee5</td>
<td>faa</td>
<td>f1ed</td>
<td>910b</td>
<td>1ef7</td>
<td>50da</td>
</tr>
<tr>
<td>ace5</td>
<td>ba75</td>
<td>b0ff</td>
<td>c0ca</td>
<td>dee7</td>
<td>fab</td>
<td>f1ee</td>
<td>90a1</td>
<td>1e09</td>
<td>50fa</td>
</tr>
<tr>
<td>add</td>
<td>bb1</td>
<td>b09</td>
<td>c0c0</td>
<td>def</td>
<td>fab5</td>
<td>f0b</td>
<td>90a7</td>
<td>1e90</td>
<td>50f7</td>
</tr>
<tr>
<td>add5</td>
<td>bead</td>
<td>b095</td>
<td>c0d</td>
<td>de11</td>
<td>fac</td>
<td>f0b5</td>
<td>90b</td>
<td>1e95</td>
<td>501d</td>
</tr>
<tr>
<td>a9e</td>
<td>bebe</td>
<td>b017</td>
<td>c0de</td>
<td>de17</td>
<td>face</td>
<td>f0e</td>
<td>90d</td>
<td>10ad</td>
<td>501e</td>
</tr>
<tr>
<td>a9ed</td>
<td>bed</td>
<td>b00</td>
<td>c0d5</td>
<td>d1b5</td>
<td>fac7</td>
<td>f0e5</td>
<td>90d5</td>
<td>10af</td>
<td>5010</td>
</tr>
<tr>
<td>a1a5</td>
<td>bede</td>
<td>b00b</td>
<td>c0ed</td>
<td>d1ce</td>
<td>fad</td>
<td>f09</td>
<td>900d</td>
<td>10b</td>
<td>57ab</td>
</tr>
<tr>
<td>a11</td>
<td>bed5</td>
<td>b007</td>
<td>c01a</td>
<td>d1ff</td>
<td>fade</td>
<td>f01d</td>
<td>900f</td>
<td>10c0</td>
<td>57a9</td>
</tr>
<tr>
<td>a11a</td>
<td>bee</td>
<td>cab</td>
<td>c01d</td>
<td>d19</td>
<td>fa9</td>
<td>f00d</td>
<td>9009</td>
<td>100f</td>
<td>57a7</td>
</tr>
<tr>
<td>a1e</td>
<td>beeb</td>
<td>cab5</td>
<td>c001</td>
<td>d195</td>
<td>fa95</td>
<td>f001</td>
<td>907</td>
<td>1007</td>
<td>7ab</td>
</tr>
<tr>
<td>a1e5</td>
<td>beef</td>
<td>caca</td>
<td>c007</td>
<td>d0a</td>
<td>fa11</td>
<td>f007</td>
<td>1ce</td>
<td>5aab</td>
<td>7ac0</td>
</tr>
<tr>
<td>a1f</td>
<td>bee5</td>
<td>cafe</td>
<td>c057</td>
<td>d0c</td>
<td>fa7e</td>
<td>9aff</td>
<td>1ced</td>
<td>5afe</td>
<td>7a11</td>
</tr>
<tr>
<td>a1fa</td>
<td>bee7</td>
<td>ca9e</td>
<td>c07</td>
<td>d0d0</td>
<td>fb1</td>
<td>9a9</td>
<td>1dea</td>
<td>5a9a</td>
<td>7ea1</td>
</tr>
<tr>
<td>a11</td>
<td>be9</td>
<td>ca1f</td>
<td>dab</td>
<td>d0e</td>
<td>fea7</td>
<td>9a9a</td>
<td>1d1e</td>
<td>5a9e</td>
<td>7ea7</td>
</tr>
<tr>
<td>a55</td>
<td>be95</td>
<td>ca11</td>
<td>dab5</td>
<td>d011</td>
<td>feb</td>
<td>9a9e</td>
<td>1ab</td>
<td>5a1e</td>
<td>7ed</td>
</tr>
<tr>
<td>baa</td>
<td>be11</td>
<td>ca5a</td>
<td>dad</td>
<td>d00</td>
<td>fed</td>
<td>9a95</td>
<td>1ab5</td>
<td>5ea1</td>
<td>7ee</td>
</tr>
<tr>
<td>baab</td>
<td>be17</td>
<td>ca5e</td>
<td>dada</td>
<td>d00b</td>
<td>fee</td>
<td>9a1a</td>
<td>1ace</td>
<td>5ea7</td>
<td>7e11</td>
</tr>
<tr>
<td>bab</td>
<td>b1d</td>
<td>ca57</td>
<td>daff</td>
<td>ea7</td>
<td>feed</td>
<td>9a11</td>
<td>1ad</td>
<td>5ec</td>
<td>70ad</td>
</tr>
<tr>
<td>baba</td>
<td>b1de</td>
<td>ca7</td>
<td>daf7</td>
<td>ecc0</td>
<td>fee1</td>
<td>9a1e</td>
<td>1ad5</td>
<td>5ed</td>
<td>7001</td>
</tr>
<tr>
<td>babb</td>
<td>b1ff</td>
<td>ca75</td>
<td>da1e</td>
<td>ed</td>
<td>fee5</td>
<td>9a7</td>
<td>1aff</td>
<td>5ee</td>
<td>7007</td>
</tr>
<tr>
<td>babe</td>
<td>b17</td>
<td>cb</td>
<td>db</td>
<td>ed9e</td>
<td>fee7</td>
<td>9a7e</td>
<td>1a9</td>
<td>5eed</td>
<td>20b0</td>
</tr>
<tr>
<td>bad</td>
<td>b17e</td>
<td>cede</td>
<td>dea</td>
<td>ee1</td>
<td>fe11</td>
<td>91ad</td>
<td>1a95</td>
<td>5e9a</td>
<td>20e</td>
</tr>
<tr>
<td>ba9</td>
<td>b0a</td>
<td>ce11</td>
<td>dead</td>
<td>ee15</td>
<td>fe17</td>
<td>91f</td>
<td>1a5e</td>
<td>5e1f</td>
<td>200</td>
</tr>
</table>
<p>Don&#8217;t forget to check my <a href="https://sophiedogg.com/fun-with-ipv6-words" title="Fun With IPv6 Words" target="_blank" rel="noopener">Fun With IPv6 Words</a> page for a larger list of words, along with some instructions on creating your own list.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sophiedogg.com/funny-ipv6-words/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Fun With IPv6 Words!</title>
		<link>https://sophiedogg.com/fun-with-ipv6-words/</link>
					<comments>https://sophiedogg.com/fun-with-ipv6-words/#comments</comments>
		
		<dc:creator><![CDATA[SophieDogg]]></dc:creator>
		<pubDate>Sun, 20 Jan 2013 18:24:07 +0000</pubDate>
				<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[DNS]]></category>
		<guid isPermaLink="false">http://sophiedogg.com/?p=853</guid>

					<description><![CDATA[If you have spent any time with IPv6 addresses, you may have realized that there are many different words that you can spell within an IPv6 address. So, let&#8217;s take a look at all the different IPv6 words we can spell! First, we need to define what numbers are equal to what letters, and then [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you have spent any time with IPv6 addresses, you may have realized that there are many different words that you can spell within an IPv6 address.  So, let&#8217;s take a look at all the different IPv6 words we can spell! <span id="more-853"></span></p>
<p>First, we need to define what numbers are equal to what letters, and then we can walk through how I created a list of IPv6 words.</p>
<p>Since IPv6 addresses are comprised of hexadecimal numbers, we already have the letters A, B, C, D, E, and F to work with in our sentences.  Next are the numbers that can represent letters&#8230;</p>
<p>The letters:</p>
<table>
<tr>
<td>Number</td>
<td>Letter</td>
</tr>
<tr>
<td>1</td>
<td>I or L</td>
</tr>
<tr>
<td>2</td>
<td>Z</td>
</tr>
<tr>
<td>5</td>
<td>S</td>
</tr>
<tr>
<td>7</td>
<td>T</td>
</tr>
<tr>
<td>9</td>
<td>G</td>
</tr>
</table>
<p>So, combining all of this, we have the letters A, B, C, D, E, F, G, I, L, O, S, T, and Z.</p>
<p>Next, we need a dictionary that we can pull our words from.  I decided to use the <a href="http://wordlist.sourceforge.net" title="SCOWL Word List" target="_blank" rel="noopener">SCOWL Word List</a>, because it will easily generate a list from the command line which we can then use in our scripts to create a list of words.  There are probably better dictionaries to start with, that will produce better results (some of our words will be somewhat silly, like aas, but I&#8217;m a dogg and that&#8217;s how I roll).</p>
<p>After download and extracting the word list from above, we are going to make an American word list.  Now, there are many different options for the SCOWL software, depending on how many words you want included in your list, language, etc. See the SCOWL readme for more details and options&#8230;</p>
<pre>$ ./mk-list american 80 > ipv6words80-1.txt</pre>
<p>This will create our base IPv6 word list.  The 80 indicates the size of the dictionary, which should contain over 338,000 words.  It is probably way to big, with many words we will never use, but that is where we&#8217;re going to start anyways!</p>
<p>Next, we are going to pull out all of the words that contain letters from our specified list above, and write them into a second file.  Using the <tt>grep</tt> command we will search for any letters we don&#8217;t want, ignore the case, invert our match, and write!</p>
<pre>$ grep -iv 'h\|j\|k\|m\|n\|p\|q\|r\|u\|v\|w\|x\|y' ipv6words80-1.txt > ipv6words80-2.txt</pre>
<p>Now, we have a list of words that only contain the letters from our list above!  However, before we can do anything else, we need to remove any non-standard characters in the words (like apostrophes), and change any umlaut vowels to regular english vowels.  This time we will use the string editor <tt>sed</tt> along with <tt>perl</tt> to accomplish our task.</p>
<pre>$ sed -i s/\'//g ipv6words80-2.txt

$ perl -pi -e 's/\xC0/A/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC1/A/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC2/A/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC3/A/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC4/A/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC5/A/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC6/AE/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC7/C/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC8/E/g' ipv6words80-2.txt
$ perl -pi -e 's/\xC9/E/g' ipv6words80-2.txt
$ perl -pi -e 's/\xCA/E/g' ipv6words80-2.txt
$ perl -pi -e 's/\xCB/E/g' ipv6words80-2.txt
$ perl -pi -e 's/\xCC/I/g' ipv6words80-2.txt
$ perl -pi -e 's/\xCD/I/g' ipv6words80-2.txt
$ perl -pi -e 's/\xCE/I/g' ipv6words80-2.txt
$ perl -pi -e 's/\xCF/I/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD0/D/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD1/N/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD2/O/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD3/O/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD4/O/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD5/O/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD6/O/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD8/O/g' ipv6words80-2.txt
$ perl -pi -e 's/\xD9/U/g' ipv6words80-2.txt
$ perl -pi -e 's/\xDA/U/g' ipv6words80-2.txt
$ perl -pi -e 's/\xDB/U/g' ipv6words80-2.txt
$ perl -pi -e 's/\xDC/U/g' ipv6words80-2.txt
$ perl -pi -e 's/\xDD/Y/g' ipv6words80-2.txt
$ perl -pi -e 's/\xDF/B/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE0/a/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE1/a/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE2/a/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE3/a/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE4/a/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE5/a/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE6/ae/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE7/c/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE8/e/g' ipv6words80-2.txt
$ perl -pi -e 's/\xE9/e/g' ipv6words80-2.txt
$ perl -pi -e 's/\xEA/e/g' ipv6words80-2.txt
$ perl -pi -e 's/\xEB/e/g' ipv6words80-2.txt
$ perl -pi -e 's/\xEC/i/g' ipv6words80-2.txt
$ perl -pi -e 's/\xED/i/g' ipv6words80-2.txt
$ perl -pi -e 's/\xEE/i/g' ipv6words80-2.txt
$ perl -pi -e 's/\xEF/i/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF0/o/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF1/n/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF2/o/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF3/o/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF4/o/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF5/o/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF6/o/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF8/o/g' ipv6words80-2.txt
$ perl -pi -e 's/\xF9/u/g' ipv6words80-2.txt
$ perl -pi -e 's/\xFA/u/g' ipv6words80-2.txt
$ perl -pi -e 's/\xFB/u/g' ipv6words80-2.txt
$ perl -pi -e 's/\xFC/u/g' ipv6words80-2.txt
$ perl -pi -e 's/\xFD/y/g' ipv6words80-2.txt
$ perl -pi -e 's/\xFF/y/g' ipv6words80-2.txt</pre>
<p>Since we just changed a bunch of umlauts to letters, we are going to run the grep command again.</p>
<pre>$ grep -iv 'h\|j\|k\|m\|n\|p\|q\|r\|u\|v\|w\|x\|y' ipv6words80-2.txt > ipv6words80-3.txt</pre>
<p>Now, we will remove any words that are longer than 4 characters.  You could optionally skip this step, however you will end up creating words in your IPv6 addresses that will have colons in them.  I don&#8217;t really want that, so I&#8217;m going to pull out only the words that are 4 characters in length or less.  We can use <tt>grep</tt> to complete this step.</p>
<pre>grep -E '^[[:alpha:]]{4}$' ipv6words80-3.txt > ipv6words80-4.txt
grep -E '^[[:alpha:]]{3}$' ipv6words80-3.txt >> ipv6words80-4.txt
grep -E '^[[:alpha:]]{2}$' ipv6words80-3.txt >> ipv6words80-4.txt
grep -E '^[[:alpha:]]{1}$' ipv6words80-3.txt >> ipv6words80-4.txt</pre>
<p>Next, we will convert everything to lowercase using the <tt>tr</tt> command, and write to the ipv6words80-5.txt file&#8230;</p>
<pre>$ tr '[A-Z]' '[a-z]' < ipv6words80-4.txt > ipv6words80-5.txt</pre>
<p>Now, when displaying IPv6 addresses, the leading 0 in any group of 4 hexadecimal digits will be omitted (so the address <tt>2001:db8:0la::1</tt> is written as <tt>2001:db8:1a::1</tt>), so we need to remove any words that begin with the letter o.</p>
<pre>grep -v ^o ipv6words80-5.txt > ipv6words80-6.txt</pre>
<p>This time, let&#8217;s sort the IPv6 word list and remove the duplicates (after converting everything to lowercase, we will end up having some duplicate words).  This can be accomplished with the <tt>sort</tt> command&#8230;</p>
<pre>$ sort -u ipv6words80-6.txt > ipv6words80-7.txt</pre>
<p>Finally, we have a list of IPv6 words which we can actually use!  All that is left is for us to convert the non-hexadecimal letters to numbers&#8230;</p>
<pre>sed -i 's/o/0/g' ipv6words80-7.txt
sed -i 's/i/1/g' ipv6words80-7.txt
sed -i 's/l/1/g' ipv6words80-7.txt
sed -i 's/z/2/g' ipv6words80-7.txt
sed -i 's/s/5/g' ipv6words80-7.txt
sed -i 's/t/7/g' ipv6words80-7.txt
sed -i 's/g/9/g' ipv6words80-7.txt</pre>
<p>Now, we will sort for unique values one more time, and be done!</p>
<pre>$ sort -u ipv6words80-7.txt > ipv6words80-8.txt</pre>
<p>Now, starting with our original word list, we will end up with proper names, acronyms, and infrequently used words.  We could optionally use a different word list that doesn&#8217;t contain these words, but I decided to keep them for a more complete list.</p>
<p>Also, this list may not contain many of the slang words and such that are common in today&#8217;s language.</p>
<p>As you can see from the list below, we can create an IPv6 address such as 2001:db8::ea7:beef:7ac0:d0g5 (eat beef taco dogs!).</p>
<p>And now, here is our completed IPv6 word list!</p>
<pre>1
10
100
1005
1007
100f
1010
1011
1015
101a
101d
105
1055
1057
105e
107
1070
1071
1075
1077
107a
107e
109
1090
1095
109e
10a
10a5
10ad
10af
10b
10b0
10b1
10b5
10be
10c0
10c1
10ca
10d1
10d2
10da
10de
10eb
10ed
10f7
11
110
1105
111
1110
1111
1115
1117
111a
112
1125
112a
115
1157
115a
115e
117
1175
117e
119
1195
11a
11a0
11a5
11b
11b5
11ce
11d
11d0
11d5
11de
11e
11e5
11ea
11ed
11ef
11f0
11f7
11fe
120d
12ba
15
150
151
1515
151a
151e
157
15a7
15ba
15d
15d5
17
170
1711
175
17a
17a1
17a5
17d
19
190
1905
199
1995
19a
19ad
19b0
19e
1a
1a0
1a05
1a10
1a11
1a1a
1a1c
1a1d
1a1e
1a2e
1a5
1a51
1a55
1a57
1a5e
1a7
1a71
1a75
1a7a
1a7e
1a9
1a90
1a95
1aa
1aa5
1ab
1ab5
1abe
1ac
1ac5
1ace
1ad
1ad5
1add
1ade
1aea
1aff
1b
1b0
1b05
1b15
1b1d
1b5
1c
1ca0
1cc
1cd
1cd5
1ce
1ce1
1ce5
1ced
1d
1d0
1d01
1d05
1d1
1d15
1d1e
1d5
1da
1da5
1dc
1de
1de5
1dea
1ded
1dee
1e
1e0
1e05
1e1
1e15
1e1a
1e1f
1e2
1e5
1e55
1e57
1e5a
1e7
1e70
1e75
1e77
1e7a
1e9
1e90
1e95
1ea
1ea1
1ea5
1ea7
1ead
1eaf
1eb0
1ec7
1ed
1ed5
1eda
1ee
1ee5
1ee7
1eed
1ef7
1f
1f5
1fc
1fc5
1ff
2
20
200
2001
2005
201a
201c
205
20a
20b0
20e
20e5
20ea
2111
211a
212
2122
217
2171
2175
217e
219
2195
21b0
21ff
222
25
2a
2a5
2a71
2a9
2a95
2e1
2e11
2e15
2e2e
2e57
2e7a
2ea
2ea1
2ea5
2ed
2ed5
2ee
2ee5
5
50
5001
5007
501
5010
5011
5015
501a
501d
501e
505
5050
5055
505a
507
5070
5075
509
5095
50b
50b5
50ba
50c
50c5
50ca
50d
50d5
50da
50f7
50fa
51
5107
5109
510b
510e
5110
5111
5117
511a
511d
511e
512e
515
5155
5157
517
5175
517a
517e
519
51a1
51a5
51a7
51a9
51ab
51b
51b5
51bb
51c
51c5
51ce
51d
51d5
51da
51de
51e
51ed
51ee
51f7
55
555
557
55a
55e
55e5
57
5701
5707
570a
570b
575
579
579e
57a
57a7
57a9
57ab
57d
57e
57e7
57ed
59
597
59d
5a
5a1
5a11
5a15
5a17
5a1c
5a1d
5a1e
5a2
5a55
5a5a
5a5e
5a7
5a71
5a75
5a7e
5a9
5a90
5a95
5a9a
5a9e
5aab
5ab
5ab5
5aba
5abe
5ac
5ac0
5ac5
5ad
5ad1
5ade
5afe
5b
5b5
5ba
5c
5c07
5c09
5c1
5c10
5c5
5c51
5ca7
5ca9
5cab
5cad
5d
5d1
5e
5e1
5e11
5e12
5e15
5e1d
5e1e
5e1f
5e2
5e5
5e55
5e5e
5e7
5e75
5e77
5e7a
5e9
5e90
5e95
5e9a
5ea
5ea1
5ea5
5ea7
5ec
5ec0
5ec5
5ec7
5ed
5ee
5ee1
5ee5
5eed
5f
7
70
700
7001
7007
7011
7017
701a
701d
701e
702e
7055
705a
705e
707
7070
7072
7075
707e
709
7090
7095
709a
70ad
70b
70be
70c
70c0
70d
70d5
70dd
70e
70e5
70ea
70ed
70f7
70ff
71
711
7111
7115
7117
711e
7122
715
717
7170
7171
7175
717e
719
7195
719e
71a
71a5
71b
71b5
71c
71c5
71ce
71d
71d5
71de
71e
71e5
71ed
71f7
71ff
75
791f
7a
7a0
7a05
7a1
7a11
7a15
7a17
7a19
7a1a
7a1c
7a1e
7a1f
7a5
7a55
7a7
7a71
7a75
7a77
7a7e
7a9
7a95
7aa1
7ab
7ab1
7ab5
7ac0
7ac7
7ace
7ad
7ad5
7ae1
7af
7af7
7b
7b5
7ba
7c
7c5
7cdd
7d
7dd
7e
7e1
7e11
7e15
7e17
7e1a
7e1d
7e1e
7e5
7e51
7e55
7e57
7e7
7e75
7e7e
7e9
7e95
7e99
7ea
7ea1
7ea5
7ea7
7ead
7ed
7ed5
7ee
7ee1
7ee5
7eed
7ef
7ef1
7ef5
7eff
9
90
900
9001
9005
9009
900d
900f
901d
901f
905
9055
907
909
9090
90a
90a1
90a5
90a7
90ad
90af
90b
90b0
90b1
90b5
90d
90d5
90e1
90e5
90ff
91
910
9105
910b
911
9111
9115
9117
911a
911b
911d
911e
9122
912a
915
9157
917
9175
917a
917e
919
9190
9191
9195
919a
91ad
91b
91b5
91be
91d
91d5
91de
91e
91e1
91e5
91e9
91ed
91ee
91f
91f7
95
95a
97
97d
97e
97e5
9a
9a0
9a1
9a11
9a15
9a17
9a1a
9a1d
9a1e
9a2
9a2a
9a2e
9a5
9a55
9a57
9a7
9a75
9a77
9a7e
9a9
9a95
9a9a
9a9e
9ab
9ab0
9ab5
9aba
9ad
9ad1
9ad5
9ade
9ae1
9ae5
9aea
9aff
9b
9b5
9ca
9d
9d5
9e
9e0
9e01
9e05
9e09
9e0d
9e1
9e15
9e1d
9e5
9e57
9e7
9e72
9e75
9e7a
9ea1
9ea7
9ed
9ed5
9ee
9ee2
9ee5
9eed
9eff
9f1
9fc1
a
a01
a015
a1
a10d
a10e
a11
a115
a11f
a15
a150
a17
a170
a175
a17a
a19
a19a
a1a
a1a1
a1a5
a1ae
a1b
a1b1
a1b5
a1ba
a1be
a1c0
a1d
a1d0
a1d5
a1da
a1de
a1e
a1e5
a1ea
a1ec
a1ee
a1ef
a1f
a1f5
a1fa
a2
a20
a21e
a25
a27
a275
a5
a51
a515
a51a
a55
a555
a557
a571
a5a
a5a5
a5a7
a5c0
a5c1
a5ea
a7
a70c
a711
a75
a77
a7c
a7c0
a7e
a7e5
a9
a90
a909
a910
a95
a9a
a9a5
a9c
a9e
a9e5
a9ed
a9ee
aa
aa1
aa15
aa5
aaa
ab
ab0
ab05
ab1
ab1b
ab1e
ab5
ab55
aba
aba5
abac
abb
abb5
abba
abbe
abc
abc5
abd
abd5
abe
abe1
abe5
abe7
abed
ac
ac15
ac1d
ac5
ac7
ac75
ac79
ac7a
acc
acc7
ace
ace5
aced
ad
ad0
ad05
ad17
ad2e
ad5
ada
ada5
adc
add
add5
ade1
ae
aec
aec5
af
af7
afb
afc
afdc
aff
b
b0
b00
b005
b007
b00b
b01
b010
b011
b017
b01a
b01d
b01e
b02
b020
b05
b055
b05c
b05e
b07
b070
b075
b077
b07a
b09
b095
b09a
b0a
b0a2
b0a5
b0a7
b0b
b0b5
b0ba
b0d
b0d5
b0de
b0ff
b1
b10
b101
b105
b107
b109
b10b
b10c
b111
b11e
b12
b125
b12e
b15
b17
b170
b175
b177
b17e
b19
b195
b199
b19a
b1a
b1a5
b1a7
b1a9
b1ab
b1ad
b1ae
b1b
b1b1
b1b5
b1bb
b1c
b1c5
b1ce
b1d
b1d1
b1d5
b1d9
b1de
b1e1
b1e7
b1eb
b1ed
b1ee
b1ff
b5
b55
b5a
b5d
b5d5
b7
b71
b75
ba
ba1
ba11
ba15
ba17
ba1a
ba1d
ba1e
ba5
ba55
ba57
ba5e
ba7
ba75
ba77
ba7e
ba9
ba95
baa
baa1
baa5
bab
bab1
bab5
baba
babb
babe
bac7
bad
bad5
bade
bae2
baf7
baff
bb
bb1
bb15
bb5
bbb
bbc
bc
bc5
bc9
bcd
bd
bd1
be
be1
be11
be15
be17
be19
be1a
be2
be5
be55
be57
be7
be75
be7a
be7e
be9
be90
be95
bea7
bead
bebe
bed
bed5
bede
bee
bee5
bee7
beeb
beef
bf
c
c0
c00
c001
c005
c007
c00f
c01
c010
c011
c015
c017
c01a
c01d
c01e
c01f
c02
c02e
c05
c055
c057
c05e
c07
c075
c077
c07e
c09
c095
c0a1
c0a7
c0b
c0b5
c0bb
c0c0
c0ca
c0d
c0d5
c0da
c0de
c0ed
c0f7
c0ff
c1
c105
c107
c109
c10d
c110
c111
c117
c15
c157
c15c
c17
c170
c175
c17e
c19
c195
c1a
c1a0
c1a5
c1a9
c1ad
c1d
c1e0
c1e9
c1ef
c2
c5
c57
c575
c5c
c7
c75
c9
ca
ca1
ca10
ca11
ca1d
ca1e
ca1f
ca5
ca55
ca57
ca5a
ca5e
ca7
ca70
ca75
ca77
ca7e
ca9e
caa
cab
cab5
caba
caca
cad
cad1
cad5
cade
cafe
caff
cb
cb5
cbc
cbc5
cc
cc5
ccd
cd
cd5
cd7
cdc
ce
ce0
ce05
ce1
ce11
ce15
ce17
ce5
ce55
ce70
ce7e
cea
cea5
ceca
ced1
cede
cee
cee5
cf
cf0
cf5
cfc
cfc5
d
d0
d00
d001
d005
d00b
d01
d011
d015
d017
d01a
d01e
d02
d02e
d05
d055
d057
d05e
d07
d075
d07e
d09
d095
d09e
d0a
d0a7
d0ab
d0b
d0b5
d0be
d0c
d0c5
d0d
d0d0
d0d5
d0e
d0e5
d0ff
d1
d10
d101
d105
d111
d15
d155
d157
d15a
d15c
d17
d172
d175
d177
d17a
d17e
d19
d195
d1a1
d1a5
d1a9
d1b
d1b5
d1c7
d1ce
d1d
d1d0
d1e
d1e1
d1e5
d1e7
d1eb
d1ed
d1f
d1f5
d1ff
d2
d20
d205
d5
d50
d505
d57
d75
d7d
d9
d95
da
da1
da11
da15
da17
da1e
da2e
da5
da55
da57
da7
da70
da75
da7a
da7e
da9
da90
da95
daa1
dab
dab5
dace
dad
dad0
dad5
dada
dadd
dae
daf7
daff
db
db1
db5
dc
dc5
dd
dd1
dd5
dd55
dd7
dd75
ddc
ddd
dde
dded
de
de0
de05
de1
de11
de15
de17
de1d
de1e
de1f
de5
de55
de5c
de9
dea
dea1
dead
deaf
deb
deb5
deb7
dec
dec0
dec1
dec5
decd
dee
dee5
dee7
deed
def
def1
def7
e
e0
e01a
e05
e055
e0e
e1
e10
e105
e11
e112
e115
e11a
e11d
e15
e15a
e15e
e17
e175
e199
e1a
e1ba
e1be
e1c0
e1d
e1d5
e1de
e1ea
e1f
e1f5
e2
e2e1
e5
e51
e55
e55e
e57
e575
e57e
e5c
e5d
e5e
e5e5
e7
e71c
e77a
e7a
e7a5
e7a7
e7c
e7d
e9
e90
e905
e99
e990
e995
e9a1
e9ad
ea
ea1e
ea5
ea57
ea5e
ea7
ea75
ead5
ebb
ebb5
ec
ec0
ec01
ec05
ec0d
ec9
ec95
ecad
ecc0
ecc1
ecce
ed
ed0
ed05
ed17
ed5
ed7
ed7a
ed9e
edb
edd0
edda
ede
ee
ee0
ee0c
ee1
ee15
ee9
ee95
eec
eec5
ef
ef1
ef5
ef7
ef75
ef7a
eff
eff5
f
f0
f00
f001
f005
f007
f00d
f01
f011
f01a
f01d
f055
f09
f095
f0a1
f0b
f0b5
f0e
f0e5
f0f1
f1
f10
f105
f109
f10c
f10e
f11
f110
f111
f115
f117
f11a
f11c
f11e
f12
f122
f157
f15c
f17
f175
f177
f19
f190
f195
f1a
f1a7
f1a9
f1ab
f1b
f1b5
f1c0
f1ca
f1ce
f1d
f1d0
f1d5
f1de
f1e
f1e5
f1ea
f1ed
f1ee
f1ef
f1f0
f1fe
f5
f5f
f7
f75
f7c
fa
fa0
fa05
fa11
fa1a
fa2e
fa5
fa57
fa7
fa75
fa7e
fa9
fa95
faa
fab
fab5
fac
fac7
face
fad
fad0
fad5
fade
faff
fb1
fb15
fca
fcc
fd
fd1c
fda
fe
fe0d
fe11
fe15
fe17
fe2
fe25
fe5
fe55
fe57
fe7
fe75
fe7a
fe7e
fe95
fea1
fea7
feb
feb5
fec
fed
fed5
fee
fee1
fee5
fee7
feeb
feed
ff</pre>
<p>Of course, some words can be hard to read (200 = zoo), but this is really just for fun, so who cares?!</p>
<p>Here is a simple little bash script that will take any word list as input and create a list of valid IPv6 words for you.  Enjoy!</p>
<pre>
#!/bin/bash

VERSION=0.6
TMPOUT1=/tmp/ipv6words1
TMPOUT2=/tmp/ipv6words2

if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then
        echo
        echo "Make IPv6 Word List version $VERSION"
        echo "Copyright 2013 Sophiedogg.com"
        echo "This script may be freely used and distrubuted, so long as credit"
        echo "to the original author remains in place."
        echo
        echo "Usage: $0 [wordlist]"
        echo
        echo "This script will make a list of IPv6 words from the input file."
        echo "An output file will be created in the same location as the"
        echo "original file, with the extension .ipv6words."
        echo
        echo "Options:"
        echo "  -h, --help                 display this help message"
        echo
elif [ ! $1 ]; then
        echo
        echo "You must specify a word list to start from."
        echo
        echo "Usage: $0 [wordlist]"
        echo
else
        if [ ! -e $1 ]; then
                echo
                echo "File $1 does not exist"
                echo
        else
                echo
                grep -iv 'h\|j\|k\|m\|n\|p\|q\|r\|u\|v\|w\|x\|y' $1 > $TMPOUT1

                perl -pi -e 's/\xC0/A/g' $TMPOUT1
                perl -pi -e 's/\xC1/A/g' $TMPOUT1
                perl -pi -e 's/\xC2/A/g' $TMPOUT1
                perl -pi -e 's/\xC3/A/g' $TMPOUT1
                perl -pi -e 's/\xC4/A/g' $TMPOUT1
                perl -pi -e 's/\xC5/A/g' $TMPOUT1
                perl -pi -e 's/\xC6/AE/g' $TMPOUT1
                perl -pi -e 's/\xC7/C/g' $TMPOUT1
                perl -pi -e 's/\xC8/E/g' $TMPOUT1
                perl -pi -e 's/\xC9/E/g' $TMPOUT1
                perl -pi -e 's/\xCA/E/g' $TMPOUT1
                perl -pi -e 's/\xCB/E/g' $TMPOUT1
                perl -pi -e 's/\xCC/I/g' $TMPOUT1
                perl -pi -e 's/\xCD/I/g' $TMPOUT1
                perl -pi -e 's/\xCE/I/g' $TMPOUT1
                perl -pi -e 's/\xCF/I/g' $TMPOUT1
                perl -pi -e 's/\xD0/D/g' $TMPOUT1
                perl -pi -e 's/\xD1/N/g' $TMPOUT1
                perl -pi -e 's/\xD2/O/g' $TMPOUT1
                perl -pi -e 's/\xD3/O/g' $TMPOUT1
                perl -pi -e 's/\xD4/O/g' $TMPOUT1
                perl -pi -e 's/\xD5/O/g' $TMPOUT1
                perl -pi -e 's/\xD6/O/g' $TMPOUT1
                perl -pi -e 's/\xD8/O/g' $TMPOUT1
                perl -pi -e 's/\xD9/U/g' $TMPOUT1
                perl -pi -e 's/\xDA/U/g' $TMPOUT1
                perl -pi -e 's/\xDB/U/g' $TMPOUT1
                perl -pi -e 's/\xDC/U/g' $TMPOUT1
                perl -pi -e 's/\xDD/Y/g' $TMPOUT1
                perl -pi -e 's/\xDF/B/g' $TMPOUT1
                perl -pi -e 's/\xE0/a/g' $TMPOUT1
                perl -pi -e 's/\xE1/a/g' $TMPOUT1
                perl -pi -e 's/\xE2/a/g' $TMPOUT1
                perl -pi -e 's/\xE3/a/g' $TMPOUT1
                perl -pi -e 's/\xE4/a/g' $TMPOUT1
                perl -pi -e 's/\xE5/a/g' $TMPOUT1
                perl -pi -e 's/\xE6/ae/g' $TMPOUT1
                perl -pi -e 's/\xE7/c/g' $TMPOUT1
                perl -pi -e 's/\xE8/e/g' $TMPOUT1
                perl -pi -e 's/\xE9/e/g' $TMPOUT1
                perl -pi -e 's/\xEA/e/g' $TMPOUT1
                perl -pi -e 's/\xEB/e/g' $TMPOUT1
                perl -pi -e 's/\xEC/i/g' $TMPOUT1
                perl -pi -e 's/\xED/i/g' $TMPOUT1
                perl -pi -e 's/\xEE/i/g' $TMPOUT1
                perl -pi -e 's/\xEF/i/g' $TMPOUT1
                perl -pi -e 's/\xF0/o/g' $TMPOUT1
                perl -pi -e 's/\xF1/n/g' $TMPOUT1
                perl -pi -e 's/\xF2/o/g' $TMPOUT1
                perl -pi -e 's/\xF3/o/g' $TMPOUT1
                perl -pi -e 's/\xF4/o/g' $TMPOUT1
                perl -pi -e 's/\xF5/o/g' $TMPOUT1
                perl -pi -e 's/\xF6/o/g' $TMPOUT1
                perl -pi -e 's/\xF8/o/g' $TMPOUT1
                perl -pi -e 's/\xF9/u/g' $TMPOUT1
                perl -pi -e 's/\xFA/u/g' $TMPOUT1
                perl -pi -e 's/\xFB/u/g' $TMPOUT1
                perl -pi -e 's/\xFC/u/g' $TMPOUT1
                perl -pi -e 's/\xFD/y/g' $TMPOUT1
                perl -pi -e 's/\xFF/y/g' $TMPOUT1

                grep -E '^[[:alpha:]]{4}$' $TMPOUT1 > $TMPOUT2
                grep -E '^[[:alpha:]]{3}$' $TMPOUT1 >> $TMPOUT2
                grep -E '^[[:alpha:]]{2}$' $TMPOUT1 >> $TMPOUT2
                grep -E '^[[:alpha:]]{1}$' $TMPOUT1 >> $TMPOUT2

                tr '[A-Z]' '[a-z]' < $TMPOUT2 > $TMPOUT1

                grep -v ^o $TMPOUT1 > $TMPOUT2

                sort -u $TMPOUT2 > $TMPOUT1

                sed -i 's/o/0/g' $TMPOUT1
                sed -i 's/i/1/g' $TMPOUT1
                sed -i 's/l/1/g' $TMPOUT1
                sed -i 's/z/2/g' $TMPOUT1
                sed -i 's/s/5/g' $TMPOUT1
                sed -i 's/t/7/g' $TMPOUT1
                sed -i 's/g/9/g' $TMPOUT1

                sort -u $TMPOUT1 > $TMPOUT2
                rm -rf $TMPOUT1
                mv $TMPOUT2 $1.ipv6words

                echo "Output written to $1.ipv6words"

                echo
        fi
fi
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://sophiedogg.com/fun-with-ipv6-words/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Setting up an IPv6 Tunnel</title>
		<link>https://sophiedogg.com/setting-up-an-ipv6-tunnel/</link>
		
		<dc:creator><![CDATA[SophieDogg]]></dc:creator>
		<pubDate>Thu, 16 Feb 2012 21:09:06 +0000</pubDate>
				<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<guid isPermaLink="false">http://sophiedogg.com/?p=517</guid>

					<description><![CDATA[So, you want to access IPv6 websites, but your ISP does not provide native IPv6 access? Well, here are some instructions for setting up a 6in4 IPv6 tunnel with Hurricane Electric! Now, these instructions are for RedHat based distro&#8217;s, and were specifically written using CentOS 6. This type of ipv6 tunnel won&#8217;t work behind NAT, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>So, you want to access IPv6 websites, but your ISP does not provide native IPv6 access?  Well, here are some instructions for setting up a 6in4 IPv6 tunnel with Hurricane Electric! <span id="more-517"></span></p>
<p>Now, these instructions are for RedHat based distro&#8217;s, and were specifically written using CentOS 6.  This type of ipv6 tunnel won&#8217;t work behind <a href="http://en.wikipedia.org/wiki/Network_address_translation" title="Network Address Translation" target="_blank" rel="noopener">NAT</a>, so your machine must be connected directly to the internet with a public IP address (UPDATE: Thanks to KingKurly for pointing out that you can forward Protocol 41 to enable a tunnel through NAT, if your device supports it).  If you are looking for something that will work behind NAT, an AYIYA tunnel from <a href="http://www.sixxs.net/" title="SixXS" target="_blank" rel="noopener">SixXS.net</a> should work over NAT for you, and we&#8217;ll cover how to do this in a future article.  But, for now, let us continue with our 6in4 ipv6 tunnel from Hurricane Electric.</p>
<p>First, go to <a href="http://tunnelbroker.net" title="TunnelBroker" target="_blank" rel="noopener">Hurricane Electric</a> and get your free tunnel.</p>
<p>Next, open up ping requests from Hurricane Electric.  This step is important, as they won&#8217;t allocate a tunnel if they can&#8217;t ping your machine.  I normally don&#8217;t respond to ping requests, so I had to use a firewall rule like the one below to allow their pings through.</p>
<pre>-A INPUT -p icmp -m icmp -m limit -s 66.220.2.74/32 -i eth0 --icmp-type 8 --limit 1/sec -j ACCEPT</pre>
<p>Don&#8217;t forget to restart your firewall after making changes, to make sure your changes are active! <tt>service iptables restart</tt></p>
<p>Once you have an account you will want to create a regular tunnel.  This is basically an IPv4 tunnel between your computer and Hurricane Electric which carries your IPv6 traffic.  Enter your IPv4 address as the tunnel&#8217;s endpoint address.  After entering your IPv4 address, the website will check to make sure that it can ping your machine.  If it cannot ping your machine, you will get an error like the one below:<br />
<a href="https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-create-error.png"><img decoding="async" src="https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-create-error.png" alt="ipv6 tunnel create error" title="tunnel create error" width="622" height="47" class="aligncenter size-full wp-image-522" srcset="https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-create-error.png 622w, https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-create-error-300x22.png 300w" sizes="(max-width: 622px) 100vw, 622px" /></a></p>
<p>If this happens, go back and check your firewall rules, and make sure that you can ping your machine from the outside.  If all else fails, try a more relaxed firewall rule, like this:</p>
<pre>-A INPUT -p icmp -m icmp -s 66.220.2.74/32 -j ACCEPT</pre>
<p>Or, even more relaxed:</p>
<pre>-A INPUT -p icmp -m icmp -j ACCEPT</pre>
<p>The first rule accepts all ICMP traffic from 66.220.2.74, while the second accepts all ICMP traffic from everyone.</p>
<p>Once everything is ready, you should see a message like this:<br />
<a href="https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-create-success.png"><img decoding="async" src="https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-create-success.png" alt="ipv6 tunnel create success" title="tunnel create success" width="624" height="32" class="aligncenter size-full wp-image-523" srcset="https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-create-success.png 624w, https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-create-success-300x15.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></a></p>
<p>Now, it is time to configure our tunnel!  Go to the Tunnel Details page of your tunnel, and start entering information.  Give your tunnel a description, which can be anything you want.  Then, assign a Routed /48, so we can have a larger block of addresses to play with.  Finally, set up your rDNS delegations, by entering your DNS servers in the provided spaces.  When you are all done, it should look something like this:<br />
<a href="https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-details.png"><img fetchpriority="high" decoding="async" src="https://sophiedogg.com/wp-content/uploads/2012/02/tunnel-details.png" alt="ipv6 tunnel details" title="tunnel details" width="655" height="604" class="aligncenter size-full wp-image-525" /></a></p>
<p>Next, it is time to configure the ipv6 tunnel on our server!  We need to create an interface file for our IPv6 tunnel, so create the <tt>/etc/sysconfig/network-scripts/ifcfg-sit1</tt> file and put the following in it:</p>
<pre># Hurricane Electric V6V4 ipv6 tunnel
ipv4a=209.51.xxx.xxx          # Server IPv4 Address from configuration above
ipv4b=66.228.xxx.xxx          # Client IPv4 Address from configuration above
ipv6a=2001:db8:xxxx:xxxx::1   # Server IPv6 Address from configuration above
ipv6b=2001:db8:xxxx:xxxx::2   # Client IPv6 Address from configuration above

NAME="Hurricane Electric SIT"
DEVICE=sit1
ONBOOT=yes
USERCTL=yes
BOOTPROTO=none
PEERDNS=no

IPV6INIT=yes
IPV6_AUTOTUNNEL=yes
IPV6ADDR="$ipv6b/64"
IPV6_ROUTER=yes
IPV6_AUTOCONF=no

IPV6_CONTROL_RADVD=yes
IPV6TUNNELIPV4=$ipv4a
IPV6TUNNELIPV4LOCAL=$ipv4b

PHYSDEV=eth0
TYPE=sit
DEVICETYPE=sit
NM_CONTROLLED=no

NETWORKING_IPV6
IPV6_DEFAULTGW=$ipv6a
IPV6_DEFAUTLDEV=sit1</pre>
<p>Don&#8217;t forget to change the IP addresses at the top of the file to match yours!</p>
<p>Now, all that is left is to assign some IPv6 addresses to our interfaces!  In your <tt>/etc/sysconfig/network-scripts/ifcfg-eth0</tt> file, you can add a few lines like the following:</p>
<pre>#HE.net ipv6 tunnel config
IPV6INIT=yes
IPV6ADDR=2001:db8:xxxx:xxxx::1/64
IPV6ADDR_SECONDARIES="2001:db8:xxxx:xxxx::1/64 2001:db8:xxxx:xxxx::1/64"</pre>
<p>Make sure you change the IPv6 addresses to match what you have been given by Hurricane Electric!</p>
<p>After restarting your network (with <tt>service network restart</tt>), you should be up and running!  You can browse to an IPv6 website or try to ping an IPv6 address, to see if your IPv6 setup is working.</p>
<p>Next, you can configure your forward and reverse DNS zones with the necessary records to show off your shiny new IPv6 addresses!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Radvd and DHCPd6 Server Configuration for Dynamic DNS</title>
		<link>https://sophiedogg.com/radvd-and-dhcpd6-server-configuration-for-dynamic-dns/</link>
					<comments>https://sophiedogg.com/radvd-and-dhcpd6-server-configuration-for-dynamic-dns/#comments</comments>
		
		<dc:creator><![CDATA[SophieDogg]]></dc:creator>
		<pubDate>Sat, 14 Jan 2012 16:59:08 +0000</pubDate>
				<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[DHCP]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Server]]></category>
		<guid isPermaLink="false">http://sophiedogg.com/?p=264</guid>

					<description><![CDATA[I&#8217;ve been using radvd for a while now to hand out IPv6 addresses to all the different devices in my Dogghouse, and I thought that it would be nice to have a working dynamic DNS setup for IPv6, in the same way as I have DDNS for IPv4. First, we need to configure radvd to [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been using radvd for a while now to hand out IPv6 addresses to all the different devices in my Dogghouse, and I thought that it would be nice to have a working dynamic DNS setup for IPv6, in the same way as I have DDNS for IPv4.  <span id="more-264"></span></p>
<p>First, we need to configure radvd to advertise the IPv6 routing on our network, so lets take a look at our radvd configuration.</p>
<pre># RADVD with DHCPd6 configuration
# /etc/radvd.conf
interface br0 {
        AdvManagedFlag on;
        AdvSendAdvert on;
        AdvAutonomous off;
        AdvOtherConfigFlag on;
        MinRtrAdvInterval 3;
        MaxRtrAdvInterval 60;
};</pre>
<p>This is a very basic radvd setup, which will just advertise the routing gateway to the network, and nothing more.  If we are going to use DHCPd6 to hand out addresses, then this is exactly what we want for our radvd configuration.  Make sure to change the interface name in the example to the interface name you will be handing out IPv6 addresses on; I have multiple interfaces bridged for my internal network and use interface br0.</p>
<p>If you want to use radvd to hand out addresses, then just use the following example instead.</p>
<pre># RADVD with no DHCPd6 configuration
# /etc/radvd.conf
interface br0 {
        AdvManagedFlag on;
        AdvSendAdvert on;
        AdvAutonomous on;
        AdvLinkMTU 1480;
        AdvOtherConfigFlag on;
        MinRtrAdvInterval 3;
        MaxRtrAdvInterval 60;
        prefix 2001:0db8:edfa:1234::/64 {
                AdvOnLink on;
                AdvRouterAddr on;
        };
};</pre>
<p>Again, make sure to change the interface to your interface name, and change the IPv6 network prefix to your addresses.</p>
<p>Now, to use DHCPd for IPv6, we need a separate configuration and service/daemon to handle the IPv6 addresses, since DHCPd can&#8217;t give out both IPv4 and IPv6 addresses at the same time.  If you already have a working IPv4 DHCPd setup, you can use a lot of the same configuration values in your DHCPd6 setup.  Below is a basic configuration for DHCPd6.</p>
<pre># /etc/dhcp/dhcpd6.conf

ddns-update-style interim;
ddns-updates on;
ddns-domainname "your.domain.com";
ddns-rev-domainname "ip6.arpa";
allow client-updates;
update-conflict-detection false;
update-optimization false;
authoritative;
option domain-name-servers dns.your.domain.com;
default-lease-time 86400;
preferred-lifetime 80000;
allow leasequery;
option dhcp6.name-servers 2001:0db8:edfa:1234::1;
option dhcp6.domain-search "your.domain.com","domain.com";
include "/etc/rndc.key";
option dhcp6.preference 255;

zone a.f.d.e.8.b.d.0.1.0.0.2.ip6.arpa. {
        primary 10.0.0.1;
        key rndckey;
}
zone your.domain.com {
        primary 10.0.0.1;
        key rndckey;
}

subnet6 2001:0db8:edfa:1234::/64 {
        # Range for clients
        range6 2001:0db8:edfa:1234:5678::aaaa 2001:0db8:edfa:1234:5678::ffff;
        # Example of a fixed host address
        host client.your.domain.com {
               host-identifier option dhcp6.client-id 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd;
               fixed-address6 2001:0db8:edfa:1234:5678::1;
        }
}</pre>
<p>This configuration will get also give out a fixed address to one of our clients, to ensure that it always gets the same IPv6 addresses from our server.  Make sure that you replace the IPv6 addresses, domain names, zone, host, and subnet settings with the correct info for your network.</p>
<p>Notice the line <tt>include "/etc/rndc.key";</tt>.  This is where I keep the key that the DHCP and DNS servers use to allow updates, so we don&#8217;t have unknown unauthorized outside sources modifying our DNS records!  Below is what my rndc.key file looks like.</p>
<pre># /etc/rndc.key

key "rndckey" {
        algorithm hmac-md5;
        secret "super-secret-key 31337";
};</pre>
<p>Finally, we need to make sure that our DNS server is configured to accept updates for our zones.</p>
<p>In our <tt>named.conf</tt> file, we need our rndc key, controls, and zone info.</p>
<pre>key rndckey {
        algorithm hmac-md5;
        secret "super-secret-key 31337";
        };
controls {
        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndckey; };
        inet ::1 port 953 allow { ::1; } keys { rndckey; };
        };


zone "your.domain.com" {
	type master;
	file "/var/named/your.domain.com.hosts";
        notify yes;
        allow-update {
                key rndckey;
        };
};
zone "a.f.d.e.8.b.d.0.1.0.0.2.ip6.arpa" {
	type master;
	file "/var/named/2001:0db8:edfa::_48.rev";
	allow-update {
		key rndckey;
		};
	};</pre>
<p>Finally, make sure that you have the correct firewall rules in place to accept DHCPd6 requests!  You&#8217;re going to need to accept ipv6-icmp traffic, and both TCP and UDP traffic on ports 546 and 547 from the link-local address range fe80::/16 to the all-dhcp-agents link-local multicast group ff02::1:2.  Here are some basic ip6tables rule examples for DNS and DHCP via IPv6:</p>
<pre>-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp -m multiport -s fe80::/16 -d ff02::1:2 -i br0 -j ACCEPT --dports 546,547
-A INPUT -p udp -m udp -m multiport -s fe80::/16 -d ff02::1:2 -i br0 -j ACCEPT --dports 546,547</pre>
<p>Now, this is a pretty basic setup, but should get you rolling with a working DHCPd6 DDNS setup!</p>
<p>One thing to note, I have found that Android devices (a 2.3 phone and a 3.2 tablet) don&#8217;t like to get IPv6 addresses from our DHCPd6 server; however everything else on the network (including other wifi devices) will correctly get addresses from the DHCPd6 server.  Android devices will however get stateless autoconfiguration addresses from a radvd standalone setup.  Perhaps this is a misconfiguration on my part, or an incompatibility in the Android OS; if you have any idea please let me know!  Arf!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sophiedogg.com/radvd-and-dhcpd6-server-configuration-for-dynamic-dns/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>No more IPv4!</title>
		<link>https://sophiedogg.com/no-more-ipv4/</link>
		
		<dc:creator><![CDATA[SophieDogg]]></dc:creator>
		<pubDate>Wed, 06 Apr 2011 01:31:08 +0000</pubDate>
				<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[IPv4]]></category>
		<guid isPermaLink="false">http://sophiedogg.com/?p=12</guid>

					<description><![CDATA[The last available IPv4 addresses have been allocated, which means we all need to start learning about and using IPv6! IP addresses are a set of numbers that uniquely identify a host on the internet. IPv4 addresses are composed of four separate 8-bit numbers (for a total of 32 bits), from 0-255, written as 111.222.33.44. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The last available IPv4 addresses have been allocated, which means we all need to start learning about and using IPv6!</p>
<p>IP addresses are a set of numbers that uniquely identify a host on the internet.  IPv4 addresses are composed of four separate  8-bit numbers (for a total of 32 bits), from 0-255, written as 111.222.33.44.  As an example, you can run the nslookup command on a domain name, and find the IP address.  Many websites have multiple IP addresses, <span id="more-12"></span>for redundancy.  Running an nslookup on <a href="http://www.google.com">Google.com</a> shows us an IP addresses of 74.125.113.99, along with a few more for redundancy.</p>
<table>
<tbody>
<tr>
<td><script src="http://ipv6.he.net/v4ex/sidebar.js" type="text/javascript"></script></td>
<td>Every computer that is connected to the internet needs an IP address.  Using NAT we can decrease the number of necessary IPv4 addresses, by creating private IPv4 address segments for home and small networks, but that only delayed the exhaustion of IPv4 addresses.  The only way to solve the problem is with new, bigger IPv6 addresses.</p>
<p>IPv6 addresses are composed of eight separate 16-bit numbers (for a total of 128 bits), from 0-ffff, written as 1111:2222:3333:4444:5555:6666:7777:8888.  IPv6 also allows for a single consecutive string of zero&#8217;s to be omitted, and for leading zero&#8217;s in a 16-bit section to be omitted, making the address easier to write.  Google&#8217;s ipv6 server, <a href="http://ipv6.google.com">ipv6.google.com</a>, has an IPv6 address of 2001:4860:800f::68.  Notice the two consecutive colons?  Between those colons are actually a bunch of zero&#8217;s!  So Google&#8217;s IPv6 address would actually look like 2001:4860:800f:0000:0000:0000:0000:0068.</p>
<p>On the left are some statistics from <a href="http://ww.he.net">Hurricane Electric</a> about IPv4 and IPv6 usage.  Hurricane Electric has a neat and fun IPv6 certification program to help you learn all about IPv6.  They also provide IPv6 tunnels so you can get access to IPv6 if your ISP isn&#8217;t providing IPv6 access yet.  Best of all it&#8217;s FREE!</p>
<p>SophieDogg.com isn&#8217;t quite IPv6 ready yet, but we will be soon, and we&#8217;ll show you how to set up a tunnel and complete the IPv6 certification program.  SophieDogg is already an IPv6 Sage at Hurricane Electric, and you can be too!  Arf!</td>
</tr>
</tbody>
</table>
<p>Some more fun facts about IPv4 and IPv6:</p>
<li>IPv4 has a total of 2<sup>32</sup> unique possible addresses (4,294,967,296)</li>
<li>IPv6 has a total of 2<sup>128</sup> unique possible addresses (340,282,366,920,938,463,463,374,607,431,768,211,456)</li>
<li>IP Addresses are often written using Classless Inter-Domain Routing (CIDR) notation</li>
<li>An address written as 111.0.0.0/8 uses CIDR to specify that the first 8 bits are the routing prefix.  This is also sometimes written as 111.0.0.0/255.0.0.0.</li>
<li>An address written as 192.168.0.0/24 specifies that the first 24 bits are the routing prefix.  This can also be written as 192.168.0.0/255.255.255.0.</li>
<li>An IPv6 address can also be written using CIDR.  2000:fe6::/32 specifies that the first 32 bits are the routing prefix.</li>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
