<?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>Yangbo&#039;s Blog</title>
	<atom:link href="http://yangbo.name/feed" rel="self" type="application/rss+xml" />
	<link>http://yangbo.name</link>
	<description>nickname yangybcy. Email:yangbo@ghitr.com</description>
	<lastBuildDate>Sun, 15 Jan 2012 14:10:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>新名称：IP Over DNS</title>
		<link>http://yangbo.name/archives/3298.html</link>
		<comments>http://yangbo.name/archives/3298.html#comments</comments>
		<pubDate>Sun, 15 Jan 2012 14:10:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[ip over dns]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3298.html</guid>
		<description><![CDATA[&#160;&#160;&#160; 今天听到一个新的东西。IP Over Dns。 &#160; 先记录到这儿，空了仔细研究一下。 &#160; &#160; &#8212;&#8212;&#8212;&#8212; &#160; iodine - http://code.kryo.se/iodine *********************************** This is a piece of software that lets you tunnel IPv4 data through a DNS server. This can be usable in different situations where internet access is firewalled, but DNS queries are allowed. QUICKSTART: Try it out within your own LAN! [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; 今天听到一个新的东西。IP Over Dns。</p>
<p>&#160;</p>
<p>先记录到这儿，空了仔细研究一下。</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#160;</p>
<pre>iodine - http:<span style="color: #008000">//code.kryo.se/iodine</span>

***********************************

This <span style="color: #0000ff">is</span> a piece of software that lets you tunnel IPv4 data through a DNS
server. This can be usable <span style="color: #0000ff">in</span> different situations where internet access <span style="color: #0000ff">is</span>
firewalled, but DNS queries are allowed.

QUICKSTART:

Try it <span style="color: #0000ff">out</span> within your own LAN! Follow these simple steps:
- On your server, run: ./iodined -f 10.0.0.1 test.com
  (If you already use the 10.0.0.0 network, use another <span style="color: #0000ff">internal</span> net like
  172.16.0.0)
- Enter a password
- On the client, run: ./iodine -f -r 192.168.0.1 test.com
  (Replace 192.168.0.1 with your server's ip address)
- Enter the same password
- Now the client has the tunnel ip 10.0.0.2 and the server has 10.0.0.1
- Try pinging each other through the tunnel
- Done! <img src='http://yangbo.name/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
To actually use it through a relaying nameserver, see below.

HOW TO USE:

Note: server and client are required to speak the exact same protocol. In most
cases, <span style="color: #0000ff">this</span> means running the same iodine version. Unfortunately, implementing
backward and forward protocol compatibility <span style="color: #0000ff">is</span> usually not feasible.

Server side:
To use <span style="color: #0000ff">this</span> tunnel, you need control over a real domain (like mydomain.com),
and a server with a <span style="color: #0000ff">public</span> IP address to run iodined on. If <span style="color: #0000ff">this</span> server
already runs a DNS program, change its listening port and then use iodined's
-b option to let iodined forward the DNS requests. (Note that <span style="color: #0000ff">this</span> procedure
<span style="color: #0000ff">is</span> not advised <span style="color: #0000ff">in</span> production environments, because iodined's DNS forwarding
<span style="color: #0000ff">is</span> not completely transparent.)

Then, <span style="color: #0000ff">delegate</span> a subdomain (say, t1.mydomain.com) to the iodined server.
If you use BIND <span style="color: #0000ff">for</span> your domain, add two lines like these to the zone file:

t1		IN	NS	t1ns.mydomain.com.		; note the dot!
t1ns		IN	A	10.15.213.99

The &quot;<span style="color: #8b0000">NS</span>&quot; line <span style="color: #0000ff">is</span> all that's needed to route queries <span style="color: #0000ff">for</span> the &quot;<span style="color: #8b0000">t1</span>&quot; subdomain
to the &quot;<span style="color: #8b0000">t1ns</span>&quot; server. We use a <span style="color: #0000ff">short</span> name <span style="color: #0000ff">for</span> the subdomain, to keep <span style="color: #0000ff">as</span> much
space <span style="color: #0000ff">as</span> possible available <span style="color: #0000ff">for</span> the data traffic. At the end of the &quot;<span style="color: #8b0000">NS</span>&quot; line
<span style="color: #0000ff">is</span> the name of your iodined server. This can be any name, pointing anywhere,
but <span style="color: #0000ff">in</span> <span style="color: #0000ff">this</span> <span style="color: #0000ff">case</span> it's easily kept <span style="color: #0000ff">in</span> the same zone file. It must be a name
(not an IP address), and that name itself must have an A record (not a CNAME).

If your iodined server has a dynamic IP, use a dynamic dns provider. Simply
point the &quot;<span style="color: #8b0000">NS</span>&quot; line to it, and leave the &quot;<span style="color: #8b0000">A</span>&quot; line <span style="color: #0000ff">out</span>:

t1		IN	NS	myname.mydyndnsprovider.com.	; note the dot!

Then reload or restart your nameserver program. Now any DNS queries <span style="color: #0000ff">for</span>
domains ending <span style="color: #0000ff">in</span> t1.mydomain.com will be sent to your iodined server.

Finally start iodined on your server. The first argument <span style="color: #0000ff">is</span> the IP address
inside the tunnel, which can be from any range that you don't use yet (<span style="color: #0000ff">for</span>
example 192.168.99.1), and the second argument <span style="color: #0000ff">is</span> the assigned domain (<span style="color: #0000ff">in</span> <span style="color: #0000ff">this</span>
<span style="color: #0000ff">case</span> t1.mydomain.com). Using the -f option will keep iodined running <span style="color: #0000ff">in</span> the
foreground, which helps when testing. iodined will open a <span style="color: #0000ff">virtual</span> <span style="color: #0000ff">interface</span>
(&quot;<span style="color: #8b0000">tun device</span>&quot;), and will also start listening <span style="color: #0000ff">for</span> DNS queries on UDP port 53.
Either enter a password on the commandline (-P pass) or after the server has
started. Now everything <span style="color: #0000ff">is</span> ready <span style="color: #0000ff">for</span> the client.

If there <span style="color: #0000ff">is</span> a chance you'll be <span style="color: #0000ff">using</span> an iodine tunnel from unexpected
environments, start iodined with a -c option.

Resulting commandline <span style="color: #0000ff">in</span> <span style="color: #0000ff">this</span> example situation:
./iodined -f -c -P secretpassword 192.168.99.1 t1.mydomain.com

Client side:
All the setup <span style="color: #0000ff">is</span> done, just start iodine. It takes one or two arguments, the
first <span style="color: #0000ff">is</span> the local relaying DNS server (optional) and the second <span style="color: #0000ff">is</span> the domain
you used (t1.mydomain.com). If you don't specify the first argument, the
system's current DNS setting will be consulted.

If DNS queries are allowed to any computer, you can directly give the iodined
server's address <span style="color: #0000ff">as</span> first argument (<span style="color: #0000ff">in</span> the example: t1ns.mydomain.com or
10.15.213.99). In that <span style="color: #0000ff">case</span>, it may also happen that _any_ traffic <span style="color: #0000ff">is</span> allowed
to the DNS port (53 UDP) of any computer. Iodine will detect <span style="color: #0000ff">this</span>, and <span style="color: #0000ff">switch</span>
to raw UDP tunneling <span style="color: #0000ff">if</span> possible. To force DNS tunneling <span style="color: #0000ff">in</span> any <span style="color: #0000ff">case</span>, use the
-r option (especially useful when testing within your own network).

The client's tunnel <span style="color: #0000ff">interface</span> will <span style="color: #0000ff">get</span> an IP close to the server's (<span style="color: #0000ff">in</span> <span style="color: #0000ff">this</span>
<span style="color: #0000ff">case</span> 192.168.99.2 or .3 etc.) and a suitable MTU. Enter the same password <span style="color: #0000ff">as</span>
on the server either <span style="color: #0000ff">as</span> commandline option or after the client has started.
Using the -f option will keep the iodine client running <span style="color: #0000ff">in</span> the foreground.

Resulting commandline <span style="color: #0000ff">in</span> <span style="color: #0000ff">this</span> example situation:
./iodine -f -P secretpassword t1.mydomain.com
(add -r to force DNS tunneling even <span style="color: #0000ff">if</span> raw UDP tunneling would be possible)

From either side, you should now be able to ping the IP address on the other
end of the tunnel. In <span style="color: #0000ff">this</span> <span style="color: #0000ff">case</span>, ping 192.168.99.1 from the iodine client, and
192.168.99.2 or .3 etc. from the iodine server.

MISC. INFO:

Routing:
It <span style="color: #0000ff">is</span> possible to route all traffic through the DNS tunnel. To <span style="color: #0000ff">do</span> <span style="color: #0000ff">this</span>, first
add a host route to the nameserver used by iodine over the wired/wireless
<span style="color: #0000ff">interface</span> with the <span style="color: #0000ff">default</span> gateway <span style="color: #0000ff">as</span> gateway. Then replace the <span style="color: #0000ff">default</span>
gateway with the iodined server's IP address inside the DNS tunnel, and
configure the server to <span style="color: #0000ff">do</span> NAT.

However, note that the tunneled data traffic <span style="color: #0000ff">is</span> not encrypted at all, and can
be read and changed by external parties relatively easily. For maximum
security, run a VPN through the DNS tunnel (=<span style="color: #0000ff">double</span> tunneling), or use secure
shell (SSH) access, possibly with port forwarding. The latter can also be used
<span style="color: #0000ff">for</span> web browsing, when you run a web proxy (<span style="color: #0000ff">for</span> example Privoxy) on your
server.

Testing:
The iodined server replies to NS requests sent <span style="color: #0000ff">for</span> subdomains of the tunnel
domain. If your iodined subdomain <span style="color: #0000ff">is</span> t1.mydomain.com, send a NS request <span style="color: #0000ff">for</span>
foo123.t1.mydomain.com to see <span style="color: #0000ff">if</span> the delegation works. dig <span style="color: #0000ff">is</span> a good tool
<span style="color: #0000ff">for</span> <span style="color: #0000ff">this</span>:
dig -t NS foo123.t1.mydomain.com

Also, the iodined server will answer requests starting with 'z' <span style="color: #0000ff">for</span> any of the
supported request types, <span style="color: #0000ff">for</span> example:
dig -t TXT z456.t1.mydomain.com
dig -t SRV z456.t1.mydomain.com
dig -t CNAME z456.t1.mydomain.com
The reply should look like garbled text <span style="color: #0000ff">in</span> all these cases.

Operational info:
The DNS-response fragment size <span style="color: #0000ff">is</span> normally autoprobed to <span style="color: #0000ff">get</span> maximum bandwidth.
To force a specific <span style="color: #0000ff">value</span> (and speed things up), use the -m option.

The DNS hostnames are normally used up to their maximum length, 255 characters.
Some DNS relays have been found that answer full-length queries rather
unreliably, giving widely varying (and mostly very bad) results of the
fragment size autoprobe on repeated tries. In these cases, use the -M <span style="color: #0000ff">switch</span>
to reduce the DNS hostname length to <span style="color: #0000ff">for</span> example 200 characters, which makes
these DNS relays much more stable. This <span style="color: #0000ff">is</span> also useful on some &quot;<span style="color: #8b0000">de-optimizing</span>&quot;
DNS relays that stuff the response with two full copies of the query, leaving
very little space <span style="color: #0000ff">for</span> downstream data (also not capable of EDNS0). The -M
<span style="color: #0000ff">switch</span> can trade some upstream bandwidth <span style="color: #0000ff">for</span> downstream bandwidth. Note that
the minimum -M <span style="color: #0000ff">value</span> <span style="color: #0000ff">is</span> about 100, since the protocol can split packets (1200
bytes max) <span style="color: #0000ff">in</span> only 16 fragments, requiring at least 75 real data bytes per
fragment.

The upstream data <span style="color: #0000ff">is</span> sent gzipped encoded with Base32; or Base64 <span style="color: #0000ff">if</span> the relay
server supports mixed <span style="color: #0000ff">case</span> and '+' <span style="color: #0000ff">in</span> domain names; or Base64u <span style="color: #0000ff">if</span> '_' <span style="color: #0000ff">is</span>
supported instead; or Base128 <span style="color: #0000ff">if</span> high-<span style="color: #0000ff">byte</span>-<span style="color: #0000ff">value</span> characters are supported.
This upstream encoding <span style="color: #0000ff">is</span> autodetected. The DNS protocol allows one query per
packet, and one query can be max 256 chars. Each domain name part can be max
63 chars. So your domain name and subdomain should be <span style="color: #0000ff">as</span> <span style="color: #0000ff">short</span> <span style="color: #0000ff">as</span> possible to
allow maximum upstream throughput.

Several DNS request types are supported, with the NULL type expected to provide
the largest downstream bandwidth. Other available types are TXT, SRV, MX,
CNAME and A (returning CNAME), <span style="color: #0000ff">in</span> decreasing bandwidth order. Normally the
&quot;<span style="color: #8b0000">best</span>&quot; request type <span style="color: #0000ff">is</span> autodetected and used. However, DNS relays may impose
limits on <span style="color: #0000ff">for</span> example NULL and TXT, making SRV or MX actually the best choice.
This <span style="color: #0000ff">is</span> not autodetected, but can be forced <span style="color: #0000ff">using</span> the -T option. It <span style="color: #0000ff">is</span>
advisable to <span style="color: #0000ff">try</span> various alternatives especially when the autodetected request
type provides a downstream fragment size of less than 200 bytes.

Note that SRV, MX and A (returning CNAME) queries may/will cause additional
lookups by &quot;<span style="color: #8b0000">smart</span>&quot; caching nameservers to <span style="color: #0000ff">get</span> an actual IP address, which may
either slow down or fail completely.

DNS responses <span style="color: #0000ff">for</span> non-NULL queries can be encoded with the same <span style="color: #0000ff">set</span> of codecs
<span style="color: #0000ff">as</span> upstream data. This <span style="color: #0000ff">is</span> normally also autodetected, but no fully exhaustive
tests are done, so some problems may not be noticed when selecting more
advanced codecs. In that <span style="color: #0000ff">case</span>, you'll see failures/corruption <span style="color: #0000ff">in</span> the fragment
size autoprobe. In particular, several DNS relays have been found that change
replies returning hostnames (SRV, MX, CNAME, A) to lowercase only when that
hostname exceeds ca. 180 characters. In these and similar cases, use the -O
option to <span style="color: #0000ff">try</span> other downstream codecs; Base32 should always work.

Normal operation now <span style="color: #0000ff">is</span> <span style="color: #0000ff">for</span> the server to _not_ answer a DNS request until
the next DNS request has come <span style="color: #0000ff">in</span>, a.k.a. being &quot;<span style="color: #8b0000">lazy</span>&quot;. This way, the server
will always have a DNS request handy when <span style="color: #0000ff">new</span> downstream data has to be sent.
This greatly improves (interactive) performance and latency, and allows to
slow down the quiescent ping requests to 4 second intervals by <span style="color: #0000ff">default</span>, and
possibly much slower. In fact, the main purpose of the pings now <span style="color: #0000ff">is</span> to force
a reply to the previous ping, and prevent DNS server timeouts (usually at
least 5-10 seconds per RFC1035). Some DNS servers are more impatient and will
give SERVFAIL errors (timeouts) <span style="color: #0000ff">in</span> periods without tunneled data traffic. All
data should still <span style="color: #0000ff">get</span> through <span style="color: #0000ff">in</span> these cases, but iodine will reduce the ping
interval to 1 second anyway (-I1) to reduce the number of error messages. This
may not help <span style="color: #0000ff">for</span> very impatient DNS relays like dnsadvantage.com (ultradns),
which time <span style="color: #0000ff">out</span> <span style="color: #0000ff">in</span> 1 second or even less. Yet data will still <span style="color: #0000ff">get</span> trough, and
you can ignore the SERVFAIL errors.

If you are running on a local network without any DNS server <span style="color: #0000ff">in</span>-between, <span style="color: #0000ff">try</span>
-I 50 (iodine and iodined close the connection after 60 seconds of silence).
The only time you'll notice a slowdown, <span style="color: #0000ff">is</span> when DNS reply packets go missing;
the iodined server then has to wait <span style="color: #0000ff">for</span> a <span style="color: #0000ff">new</span> ping to re-send the data. You can
speed <span style="color: #0000ff">this</span> up by generating some upstream traffic (keypress, ping). If <span style="color: #0000ff">this</span>
happens often, check your network <span style="color: #0000ff">for</span> bottlenecks and/or run with -I1.

The delayed answering <span style="color: #0000ff">in</span> lazy mode will cause some &quot;<span style="color: #8b0000">carrier grade</span>&quot; commercial
DNS relays to repeatedly re-send the same DNS query to the iodined server.
If the DNS relay <span style="color: #0000ff">is</span> actually implemented <span style="color: #0000ff">as</span> a pool of parallel servers,
duplicate requests may even arrive from multiple sources. This effect will
only be visible <span style="color: #0000ff">in</span> the network traffic at the iodined server, and will not
affect the client's connection. Iodined will notice these duplicates, and send
the same answer (when its time has come) to both the original query and the
latest duplicate. After that, the full answer <span style="color: #0000ff">is</span> cached <span style="color: #0000ff">for</span> a <span style="color: #0000ff">short</span> <span style="color: #0000ff">while</span>.
Delayed duplicates that arrive at the server even later, <span style="color: #0000ff">get</span> a reply that the
iodine client will ignore (<span style="color: #0000ff">if</span> it ever arrives there).

If you have problems, <span style="color: #0000ff">try</span> inspecting the traffic with network monitoring tools
like tcpdump or ethereal/wireshark, and make sure that the relaying DNS server
has not cached the response. A cached error message could mean that you
started the client before the server. The -D (and -DD) option on the server
can also show received and sent queries.

TIPS &amp; TRICKS:

If your port 53 <span style="color: #0000ff">is</span> taken on a specific <span style="color: #0000ff">interface</span> by an application that does
not use it, use -p on iodined to specify an alternate port (like -p 5353) and
use <span style="color: #0000ff">for</span> instance iptables (on Linux) to forward the traffic:
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 53 -j DNAT --to :5353
(Sent <span style="color: #0000ff">in</span> by Tom Schouten)

Iodined will reject data from clients that have not been active (data/pings)
<span style="color: #0000ff">for</span> more than 60 seconds. Similarly, iodine will exit when no downstream
data has been received <span style="color: #0000ff">for</span> 60 seconds. In <span style="color: #0000ff">case</span> of a <span style="color: #0000ff">long</span> network outage or
similar, just restart iodine (re-login), possibly multiple times until you <span style="color: #0000ff">get</span>
your old IP address back. Once that's done, just wait a <span style="color: #0000ff">while</span>, and you'll
eventually see the tunneled TCP traffic <span style="color: #0000ff">continue</span> to flow from where it left
off before the outage.

With the introduction of the downstream packet queue <span style="color: #0000ff">in</span> the server, its memory
usage has increased with several megabytes <span style="color: #0000ff">in</span> the <span style="color: #0000ff">default</span> configuration.
For use <span style="color: #0000ff">in</span> low-memory environments (e.g. running on your DSL router), you can
decrease USERS and undefine OUTPACKETQ_LEN <span style="color: #0000ff">in</span> user.h without any ill conse-
quence, assuming at most one client will be connected at any time. A small
DNSCACHE_LEN <span style="color: #0000ff">is</span> still advised, preferably 2 or higher, however you can also
undefine it to save a few more kilobytes.

PERFORMANCE:

This section tabulates some performance measurements. To view properly, use
a <span style="color: #0000ff">fixed</span>-width font like Courier.

Measurements were done <span style="color: #0000ff">in</span> protocol 00000502 <span style="color: #0000ff">in</span> lazy mode; upstream encoding
always Base128; iodine -M255; iodined -m1130. Network conditions were not
extremely favorable; results are not benchmarks but a realistic indication of
real-world performance that can be expected <span style="color: #0000ff">in</span> similar situations.

Upstream/downstream throughput was measured by scp'ing a file previously
read from /dev/urandom (i.e. incompressible), and measuring size with
&quot;<span style="color: #8b0000">ls -l ; sleep 30 ; ls -l</span>&quot; on a separate non-tunneled connection. Given the
large scp block size of 16 kB, <span style="color: #0000ff">this</span> gives a resolution of 4.3 kbit/s, which
explains why some values are exactly equal.
Ping round-trip times measured with &quot;<span style="color: #8b0000">ping -c100</span>&quot;, presented are average rtt
and mean deviation (indicating spread around the average), <span style="color: #0000ff">in</span> milliseconds.

Situation 1:
Laptop  -&gt;   Wifi AP   -&gt;  Home server  -&gt;  DSL provider  -&gt;  Datacenter
 iodine    DNS &quot;<span style="color: #8b0000">relay</span>&quot;        bind9           DNS cache        iodined

                        downstr.  upstream downstr.  ping-up       ping-down
                        fragsize   kbit/s   kbit/s  avg +/-mdev   avg +/-mdev
------------------------------------------------------------------------------

iodine -&gt; Wifi AP :53
  -Tnull (= -Oraw)           982    43.6    131.0   28.0    4.6   26.8    3.4

iodine -&gt; Home server :53
  -Tnull (= -Oraw)          1174    48.0    305.8   26.6    5.0   26.9    8.4

iodine -&gt; DSL provider :53
  -Tnull (= -Oraw)          1174    56.7    367.0   20.6    3.1   21.2    4.4
  -Ttxt -Obase32             730    56.7    174.7*
  -Ttxt -Obase64             874    56.7    174.7
  -Ttxt -Obase128           1018    56.7    174.7
  -Ttxt -Oraw               1162    56.7    358.2
  -Tsrv -Obase128            910    56.7    174.7
  -Tcname -Obase32           151    56.7     43.6
  -Tcname -Obase128          212    56.7     52.4

iodine -&gt; DSL provider :53
  wired (no Wifi) -Tnull    1174    74.2    585.4   20.2    5.6   19.6    3.4

 [174.7* : these all have 2frag/packet]

Situation 2:
Laptop  -&gt;  Wifi+vpn / wired  -&gt;  Home server
 iodine                            iodined

                        downstr.  upstream downstr.  ping-up       ping-down
                        fragsize   kbit/s   kbit/s  avg +/-mdev   avg +/-mdev
------------------------------------------------------------------------------

wifi + openvpn  -Tnull      1186   166.0   1022.3    6.3    1.3    6.6    1.6

wired  -Tnull               1186   677.2   2464.1    1.3    0.2    1.3    0.1

Performance <span style="color: #0000ff">is</span> strongly coupled to low ping times, <span style="color: #0000ff">as</span> iodine requires
confirmation <span style="color: #0000ff">for</span> every data fragment before moving on to the next. Allowing
multiple fragments <span style="color: #0000ff">in</span>-flight like TCP could possibly increase performance,
but it would likely cause serious overload <span style="color: #0000ff">for</span> the intermediary DNS servers.
The current protocol scales performance with DNS responsivity, since the
DNS servers are on average handling at most one DNS request per client.

PORTABILITY:

iodine has been tested on Linux (arm, ia64, x86, AMD64 and SPARC64), FreeBSD
(ia64, x86), OpenBSD (x86), NetBSD (x86), MacOS X (ppc and x86, with
http:<span style="color: #008000">//tuntaposx.sourceforge.net/). and Windows (with OpenVPN TAP32 driver, see</span>
win32 readme file).  It should be easy to port to other unix-like systems that
has TUN/TAP tunneling support. Let us know <span style="color: #0000ff">if</span> you <span style="color: #0000ff">get</span> it to run on other
platforms. 

THE NAME:

The name iodine was chosen since it starts with IOD (IP Over DNS) and since
iodine has atomic number 53, which happens to be the DNS port number.

THANKS:

- To kuxien <span style="color: #0000ff">for</span> FreeBSD and OS X testing
- To poplix <span style="color: #0000ff">for</span> code audit

AUTHORS &amp; LICENSE:

Copyright (c) 2006-2009 Bjorn Andersson &lt;flex@kryo.se&gt;, Erik Ekman &lt;yarrick@kryo.se&gt;
Also major contributions by Anne Bezemer.

Permission to use, copy, modify, and distribute <span style="color: #0000ff">this</span> software <span style="color: #0000ff">for</span> any purpose
with or without fee <span style="color: #0000ff">is</span> hereby granted, provided that the above copyright notice
and <span style="color: #0000ff">this</span> permission notice appear <span style="color: #0000ff">in</span> all copies.

THE SOFTWARE IS PROVIDED &quot;<span style="color: #8b0000">AS IS</span>&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

MD5 implementation by L. Peter Deutsch (license and source <span style="color: #0000ff">in</span> src/md5.[ch])
Copyright (C) 1999, 2000, 2002 Aladdin Enterprises.  All rights reserved.</pre>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3298.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>原来VirtualBox也支持WEB管理。</title>
		<link>http://yangbo.name/archives/3297.html</link>
		<comments>http://yangbo.name/archives/3297.html#comments</comments>
		<pubDate>Fri, 13 Jan 2012 06:52:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[phpVirtualBox]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[虚拟机]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3297.html</guid>
		<description><![CDATA[&#160;&#160;&#160; 手上有一台服务器。内存是32GB的。安装的是Windows系统。&#160;&#160; 本想用VMware Server虚拟几台机器出来练手。结果VMware Server在这上面运行不正常。 所以只有换成VirtualBOX。 &#160; 在VirtualBox网站上发现可以使用PHPＶｉｒｔｕａｌＢｏｘ来达到WEB访问的目的。 &#160; &#160; 多方便的。 &#160; PhpVirtualBox的下载地址：http://code.google.com/p/phpvirtualbox/ VirtualBox的下载地址：https://www.virtualbox.org/wiki/Downloads]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; 手上有一台服务器。内存是32GB的。安装的是Windows系统。&#160;&#160; 本想用VMware Server虚拟几台机器出来练手。结果VMware Server在这上面运行不正常。 所以只有换成VirtualBOX。</p>
<p>&#160;</p>
<p>在VirtualBox网站上发现可以使用PHPＶｉｒｔｕａｌＢｏｘ来达到WEB访问的目的。</p>
<p>&#160;</p>
<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2012/01/image.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2012/01/image_thumb.png" width="244" height="142" /></a> </p>
<p>&#160;</p>
<p>多方便的。 </p>
<p>&#160;</p>
<p>PhpVirtualBox的下载地址：<a href="http://code.google.com/p/phpvirtualbox/">http://code.google.com/p/phpvirtualbox/</a></p>
<p>VirtualBox的下载地址：<a href="https://www.virtualbox.org/wiki/Downloads">https://www.virtualbox.org/wiki/Downloads</a></p>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3297.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>美国人眼里的中国人独特脸谱</title>
		<link>http://yangbo.name/archives/3294.html</link>
		<comments>http://yangbo.name/archives/3294.html#comments</comments>
		<pubDate>Thu, 12 Jan 2012 04:00:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[30点]]></category>
		<category><![CDATA[中国人]]></category>
		<category><![CDATA[独特]]></category>
		<category><![CDATA[美国人]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3294.html</guid>
		<description><![CDATA[&#160; &#160; &#160; &#160;&#160;&#160; 洛杉矶和旧金山集中了美国一大半华人，这里的圣诞节和新年当然也有浓浓中国文化味道，就看那些每天晚上灯火辉煌的华人餐厅就知道这“味道”有多强。你很难在美国看到俄国餐厅，也不会看到规模如此大的犹太人街道，即使是那些越南人把所有商铺加起来也比不上另一群越南人&#8212;我们的越南华侨社区。在这里久了好像并没有真正活在美国，而是在另一个独特的“中国”。那些洗脚哥哥和餐馆侍应妹妹们即使不会英语也活的和别人没什么两样。至少表面上看就是如此。 &#160;&#160;&#160; 唐人街的热闹过节气氛让美国人十分好奇，这两年美国的商铺不是门可罗雀便是关门大吉，怎唯独中国人社区依然歌舞平生？当然，这和那些推着大包小包下飞机的中国移民有关系，这些人中有投资移民，也有企业移民，也有留学生，还有更多的是各地来的亲属移民们，他们心里都想着一件事，那就是如何在美国安顿下来。为了好好立足，把原来家里的细软都带来了，有房子的也卖了，把房款收入在美国另买一套；没房子的也卖了，还了银行贷款剩下的带过来权当半年内找不到工作的生活费，中国房地产如此就变成了移民们的取款机。当然，这还是无法安慰新移民的忐忑的心，他们把小算盘打得滴答响，不论到哪里都把人民币和美元比价一番，这个比中国贵，那个比中国便宜，久而久之，美国人硬生生地总结了六十条“中国人脸谱”，可正是这些中国人借钱给了他们高消费。 1. 熟人见面打招呼时不问好, 而是问&#34;吃了吗?&#34;（中国过去六十年有一半多是饥饿记忆，关心吃饱比关心啥都感人实惠） &#160; 2. 喜欢吃鸡爪。（中国人体型好，鸡爪子不油腻，少脂肪，不像美国汉堡把人都吃撑肥胖症了） 3. 吃鱼时会吸鱼头和鱼鳍。（和鱼亲吻，最好的享受美食方法，顺便把骨头咬啃干净，减少污染，两全齐美，只是让那小猫没多少油水了）。 4. 车子后视镜上会吊中国摆设。（那是中国人自我标榜的方式，说明我们永远是龙传人”。 5. 喜欢唱卡拉OK。（中国人最讲求唱歌的自由民主，谁的嗓门大谁才有种有面子） 6. 房子铺的是瓷砖。(难道你不知道China就是瓷砖的意思？) 7. 厨房覆盖着一层厚厚的油脂。（那才叫着‘肥水不流外人田’，洗完了不还得炒菜冒油烟？干脆等过年才洗，一次搞定）。 8. 炉子上面有铝箔。（防患于未然，把锡纸掀开就不用每次过节时擦洗了） 9. 遥控器外面包着塑料。（这叫着讲究卫生，表面脏，里面干净；行为不端，思想正确，中国特色） 10. 从没吻过你父母。（问问他们愿意被我吻吗？怎能强人所难？何况对父母） 11. 从没抱过你父母。（只听说父母抱孩子，没听说孩子抱父母的） 12. 小学五年级开始就戴眼鏡了。（如今托儿所就开始用电脑了，三岁就开始多了眼镜这个‘人造器官’） 13. 睡醒后头发会起来。（你的头发睡着才竖起来？） 14. 会为一些不可置疑的事情辩论。（这叫实践是检验真理的标准，吵架是检验真理的过程）。 &#160; 15. 喜欢用折价券。（我父母用布票和肉票，我用折价卷有何不对？） 16. 为了最便宜的汽油费不惜开着车子到处找。（算过没有,我们等汽油差点用完才加，装满一桶便能省两美元，而美国佬见那里便宜就在那里加，哪怕只加四分之一桶也停一次车，每次只能节省五毛钱，傻不傻？） 17. 每天总是到了晚上才洗澡。（中国男人睡前流汗，美国男人睡醒流汗，没错吧。） 18. 旅店房间里的非免费食品都绝不吃。（防范恐怖分子下毒，他们知道只有美国白人才会吃非免费食物。我们买一小杯可乐，但可以添加N次，全家人喝饱，老美只会买大杯，喝不完倒掉，受穷活该） 19. 男人不如女人会打球（男人是当官用的，女人是陪打球用的） 20. 別人为他倒茶时, 他表示感谢的方式是用手指敲一下桌子。（美国人点点头，中国人点点手指，美国人脖子粗，中国人手指细，中国人更节省力气）。 21. 表示感叹时经常说 &#34;哎&#34;(第二声)&#34;呀&#34;(第四声)&#34;和&#34;哇&#34;(第四声)&#34;。 （美国人只发出两声，五个字母“MY [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;&#160;&#160; 洛杉矶和旧金山集中了美国一大半华人，这里的圣诞节和新年当然也有浓浓中国文化味道，就看那些每天晚上灯火辉煌的华人餐厅就知道这“味道”有多强。你很难在美国看到俄国餐厅，也不会看到规模如此大的犹太人街道，即使是那些越南人把所有商铺加起来也比不上另一群越南人&#8212;我们的越南华侨社区。在这里久了好像并没有真正活在美国，而是在另一个独特的“中国”。那些洗脚哥哥和餐馆侍应妹妹们即使不会英语也活的和别人没什么两样。至少表面上看就是如此。</p>
<p>&#160;&#160;&#160; 唐人街的热闹过节气氛让美国人十分好奇，这两年美国的商铺不是门可罗雀便是关门大吉，怎唯独中国人社区依然歌舞平生？当然，这和那些推着大包小包下飞机的中国移民有关系，这些人中有投资移民，也有企业移民，也有留学生，还有更多的是各地来的亲属移民们，他们心里都想着一件事，那就是如何在美国安顿下来。为了好好立足，把原来家里的细软都带来了，有房子的也卖了，把房款收入在美国另买一套；没房子的也卖了，还了银行贷款剩下的带过来权当半年内找不到工作的生活费，中国房地产如此就变成了移民们的取款机。当然，这还是无法安慰新移民的忐忑的心，他们把小算盘打得滴答响，不论到哪里都把人民币和美元比价一番，这个比中国贵，那个比中国便宜，久而久之，美国人硬生生地总结了六十条“中国人脸谱”，可正是这些中国人借钱给了他们高消费。</p>
<p>1. 熟人见面打招呼时不问好, 而是问&quot;吃了吗?&quot;（中国过去六十年有一半多是饥饿记忆，关心吃饱比关心啥都感人实惠）</p>
<p>&#160;</p>
<p><span id="more-3294"></span>
<p>2. 喜欢吃鸡爪。（中国人体型好，鸡爪子不油腻，少脂肪，不像美国汉堡把人都吃撑肥胖症了）</p>
<p>3. 吃鱼时会吸鱼头和鱼鳍。（和鱼亲吻，最好的享受美食方法，顺便把骨头咬啃干净，减少污染，两全齐美，只是让那小猫没多少油水了）。</p>
<p>4. 车子后视镜上会吊中国摆设。（那是中国人自我标榜的方式，说明我们永远是龙传人”。</p>
<p>5. 喜欢唱卡拉OK。（中国人最讲求唱歌的自由民主，谁的嗓门大谁才有种有面子）</p>
<p>6. 房子铺的是瓷砖。(难道你不知道China就是瓷砖的意思？)</p>
<p>7. 厨房覆盖着一层厚厚的油脂。（那才叫着‘肥水不流外人田’，洗完了不还得炒菜冒油烟？干脆等过年才洗，一次搞定）。</p>
<p>8. 炉子上面有铝箔。（防患于未然，把锡纸掀开就不用每次过节时擦洗了）</p>
<p>9. 遥控器外面包着塑料。（这叫着讲究卫生，表面脏，里面干净；行为不端，思想正确，中国特色）</p>
<p>10. 从没吻过你父母。（问问他们愿意被我吻吗？怎能强人所难？何况对父母）</p>
<p>11. 从没抱过你父母。（只听说父母抱孩子，没听说孩子抱父母的）</p>
<p>12. 小学五年级开始就戴眼鏡了。（如今托儿所就开始用电脑了，三岁就开始多了眼镜这个‘人造器官’）</p>
<p>13. 睡醒后头发会起来。（你的头发睡着才竖起来？）</p>
<p>14. 会为一些不可置疑的事情辩论。（这叫实践是检验真理的标准，吵架是检验真理的过程）。</p>
<p>&#160;</p>
<p>15. 喜欢用折价券。（我父母用布票和肉票，我用折价卷有何不对？）</p>
<p>16. 为了最便宜的汽油费不惜开着车子到处找。（算过没有,我们等汽油差点用完才加，装满一桶便能省两美元，而美国佬见那里便宜就在那里加，哪怕只加四分之一桶也停一次车，每次只能节省五毛钱，傻不傻？）</p>
<p>17. 每天总是到了晚上才洗澡。（中国男人睡前流汗，美国男人睡醒流汗，没错吧。）</p>
<p>18. 旅店房间里的非免费食品都绝不吃。（防范恐怖分子下毒，他们知道只有美国白人才会吃非免费食物。我们买一小杯可乐，但可以添加N次，全家人喝饱，老美只会买大杯，喝不完倒掉，受穷活该）</p>
<p>19. 男人不如女人会打球（男人是当官用的，女人是陪打球用的）</p>
<p>20. 別人为他倒茶时, 他表示感谢的方式是用手指敲一下桌子。（美国人点点头，中国人点点手指，美国人脖子粗，中国人手指细，中国人更节省力气）。</p>
<p>21. 表示感叹时经常说 &quot;哎&quot;(第二声)&quot;呀&quot;(第四声)&quot;和&quot;哇&quot;(第四声)&quot;。 （美国人只发出两声，五个字母“MY GOD”）</p>
<p>22. 开车或坐在副驾驶位乘车时 , 不喜欢系安全带, 因為系安全带让他感觉不舒服和麻烦。（中国人最爱自由自在，只有老美才喜欢让根带子摸自己胸前）</p>
<p>23. 喜欢拉斯维加斯、老虎机和二十一点。（不赌怎叫中国人，我们天生是赌场的肥料，因为太希望赢钱了，钱见我们就吓得飞跑）</p>
<p>24. 厨房桌子上总是有一条湿乎乎的抹布。（这就是家庭主妇的面子工程，抹布不湿怎显出勤劳？）</p>
<p>25. 就餐时习惯把骨头和其他咬碎吐在桌子上。（最后可以清点一下谁的渣子多就知道谁吃得最多，容易记账，不像老美不吃骨头只吃肉）</p>
<p>26. 电冰箱时常会存着很久以前放进去的食物。（我们有三十年饥饿记忆，饥饿感是我们的生物本能，造成我们永远要‘备战备荒’）。</p>
<p>27. 厨房里有洗碗机, 但后来沒用过它。（洗碗机用电，用手洗不耗电；洗碗机耗费洗洁剂比手洗多一倍）。</p>
<p>28. 把洗碗机当碗橱。（美国人把碗当成艺术品摆在橱柜里，我们把艺术品当成碗摆在橱柜里）</p>
<p>29. 特別喜欢用热水瓶, 而且每个热水瓶里面永远裝满热水。（热水是消毒过的，我们祖国的水不消毒不能喝，到了美国我们的胃只适应喝热水了）</p>
<p>30. 虽然有餐厅, 但却总是喜欢在厨房用餐。（我们喜欢吃火锅，边烤边啃，在餐厅怎如锅台上方便？）</p>
<p>看到这里，读者难道还不明白中国人为何在此次经济大萧条中能够独善其身？美国人应当改改心态了。</p>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3294.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>unxsBind Getting Started</title>
		<link>http://yangbo.name/archives/3293.html</link>
		<comments>http://yangbo.name/archives/3293.html#comments</comments>
		<pubDate>Tue, 10 Jan 2012 12:38:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network system]]></category>
		<category><![CDATA[unxsbind]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3293.html</guid>
		<description><![CDATA[本页面使用了我们自己的CDN系统。 &#160; unixservice.com.ghitr.com ---&#62;unixservice.com openisp.net.ghitr.com ---&#62; openisp.net 如果你觉得访问慢了，可以访问源地址： http://openisp.net/openisp/unxsVZ/wiki/GettingStartedBind &#160; Introduction This page will guide through the process of setting up a new zone, configuring your nameserver set and putting your BIND server in production using unxsBind. We assume you have read and implemented the instructions described at the Installing unxsBind with yum for CentOS [...]]]></description>
			<content:encoded><![CDATA[<h4>本页面使用了我们自己的CDN系统。</h4>
<p>&#160;</p>
<pre>unixservice.com.ghitr.com   ---&gt;unixservice.com
openisp.net.ghitr.com   ---&gt; openisp.net</pre>
<p>如果你觉得访问慢了，可以访问源地址：</p>
<pre>http:<span style="color: #008000">//openisp.net/openisp/unxsVZ/wiki/GettingStartedBind</span></pre>
<h4>&#160;</h4>
<h4>Introduction<a href="http://openisp.net.ghitr.com/openisp/unxsVZ/wiki/GettingStartedBind#Introduction"></a></h4>
<p>This page will guide through the process of setting up a new zone, configuring your nameserver set and putting your BIND server in production using unxsBind. We assume you have read and implemented the instructions described at the <a href="http://openisp.net.ghitr.com/openisp/unxsVZ/wiki/InstallingBindYum">Installing unxsBind with yum for CentOS 5</a> page. If not, that should be your starting point before reading this document.</p>
<h4>Securing your install<a href="http://openisp.net.ghitr.com/openisp/unxsVZ/wiki/GettingStartedBind#Securingyourinstall"></a></h4>
<ol>
<li>Login into your iDNS.cgi backend at <a href="https://yourserverip:9333/cgi-bin/iDNS.cgi">https://yourserverip:9333/cgi-bin/iDNS.cgi</a> (Root/wsxedc) </li>
</ol>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/login.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/login.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/login.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/login.jpg" /></a></p>
<p><span id="more-3293"></span>
<ol>
<li>Once there, you must change the Root user password. For doing so, click on the Main tab: </li>
</ol>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/MainTab.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/MainTab.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/MainTab.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/MainTab.jpg" /></a></p>
<ol>
<li>Click on the tAuthorize link, you should see the screen below: </li>
<li>There you&#8217;ll find the Root tAuthorize record loaded. </li>
<li>Press [Modify] </li>
</ol>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tAuthorizeMod.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tAuthorizeMod.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tAuthorizeMod.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tAuthorizeMod.jpg" /></a></p>
<ol>
<li>Update the cPasswd field with the password you want to use. </li>
<li>Press [Confirm Modify] </li>
<li>You&#8217;ll be logged out of the application. </li>
<li>Re-login with your new credentials. </li>
</ol>
<h4>Creating a zone<a href="http://openisp.net.ghitr.com/openisp/unxsVZ/wiki/GettingStartedBind#Creatingazone"></a></h4>
<ol>
<li>Login into your iDNS.cgi backend at <a href="https://yourserverip:9333/cgi-bin/iDNS.cgi">https://yourserverip:9333/cgi-bin/iDNS.cgi</a> using the Root username and the password you used. </li>
</ol>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tZoneHigh.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tZoneHigh.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tZoneHigh.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tZoneHigh.jpg" /></a></p>
<ol>
<li>Click on the tZone tab. You&#8217;ll see the screen shown below </li>
</ol>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tZoneLoaded.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tZoneLoaded.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tZoneLoaded.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tZoneLoaded.jpg" /></a></p>
<ol>
<li>Press the [New] button at the top navigation bar. You should only change the cZone field value with the new zone name. The TTLs set for the sample zone should work for this simple test. </li>
<li>Once you changed the cZone field value, to smart.com in our example; press the [Confirm New] button at the left panel. </li>
<li>Then, if you click on the tJob tab you&#8217;ll see two job entries, one for the master and the other for the slave of the preconfigured nameserver set. </li>
</ol>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tJobTab.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tJobTab.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tJobTab.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tJobTab.jpg" /></a></p>
<ol>
<li>After the job queue gets processed for the master server (this should take one minute or so, until the cron job gets executed) you should be able to query your nameserver for the SOA of the created zone:
<pre>[root@localhost ~]# dig @localhost soa smart.com

; &lt;&lt;&gt;&gt; DiG 9.3.4-P1 &lt;&lt;&gt;&gt; @localhost soa smart.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 57687
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;smart.com.                     IN      SOA

;; ANSWER SECTION:
smart.com.              86400   IN      SOA     ns1.yourdomain.com. hostmaster.yourdomain.com. 2009051900 28800 7200 604800 86400

;; AUTHORITY SECTION:
smart.com.              86400   IN      NS      ns2.yourdomain.com.
smart.com.              86400   IN      NS      ns1.yourdomain.com.

;; ADDITIONAL SECTION:
ns1.yourdomain.com.     86400   IN      A       192.0.0.1
ns2.yourdomain.com.     86400   IN      A       192.168.0.2

;; Query time: 42 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue May 19 09:28:02 2009
;; MSG SIZE  rcvd: 153</pre>
</li>
</ol>
<h4>Adding RRs to a zone<a href="http://openisp.net.ghitr.com/openisp/unxsVZ/wiki/GettingStartedBind#AddingRRstoazone"></a></h4>
<ol>
<li>Provided you have gone through the section above, for starting click on the tZone tab. </li>
<li>Enter smart at the cSearch box at the left panel (Highlighted with green below) and press &lt;Enter&gt; </li>
<li>You should see the tZone record for the smart.com zone </li>
</ol>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tZoneSearch.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tZoneSearch.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tZoneSearch.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tZoneSearch.jpg" /></a></p>
<ol>
<li>Then press the [Add Resource Record] button at the left panel (Highlighted with blue above.) </li>
<li>You&#8217;ll the the tResource tab, with the fields opened for writing. Complete them as the image below shows: </li>
</ol>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tResourceTab.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tResourceTab.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tResourceTab.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tResourceTab.jpg" /></a></p>
<ol>
<li>To add the new RR press the [Confirm New] button at the left panel. </li>
<li>Wait a minute and test the new RR with dig:
<pre>[root@localhost ~]# dig @localhost www.smart.com

; &lt;&lt;&gt;&gt; DiG 9.3.4-P1 &lt;&lt;&gt;&gt; @localhost www.smart.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 23724
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.smart.com.                 IN      A

;; ANSWER SECTION:
www.smart.com.          86400   IN      A       192.168.0.45

;; AUTHORITY SECTION:
smart.com.              86400   IN      NS      ns1.yourdomain.com.
smart.com.              86400   IN      NS      ns2.yourdomain.com.

;; ADDITIONAL SECTION:
ns1.yourdomain.com.     86400   IN      A       192.0.0.1
ns2.yourdomain.com.     86400   IN      A       192.168.0.2

;; Query time: 11 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue May 19 10:13:24 2009
;; MSG SIZE  rcvd: 126</pre>
</li>
</ol>
<h4>Configuring your NS Set<a href="http://openisp.net.ghitr.com/openisp/unxsVZ/wiki/GettingStartedBind#ConfiguringyourNSSet"></a></h4>
<p>Now that you have learned how to create a zone and RRs, let&#8217;s move to the final step of this &#8216;Getting Started&#8217; guide. This section will show you how to configure a NS Set. But first, a little of theory.</p>
<p><strong>What are NS Sets?</strong></p>
<p>Basically, a NS set is a group of nameservers, being those masters or slaves. The server function doesn&#8217;t matter as regards this grouping. unxsBind has various tables that organize this system.</p>
<pre>tServer ----  tNS ---- tNSType
                   |
               tNSSet</pre>
<p>Let&#8217;s explain this. The tServer table keeps track of the server records. A server in this context, is the physical hardware (e.g. OpenVZ hardware node) which runs the nameserver identified by the tNS record. At the same time, this nameserver record belongs to a group, which is indicated by a tNSSet record. Moreover, the type of nameserver (master, hidden master or slave) is set by a tNSType record associated with the tNS record.</p>
<p>All these tables are hidden in the tab menu, but you can access them from the &#8216;Main&#8217; tab, by clicking on the respective link, as the image below shows:</p>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/MainTabFullScreen.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/MainTabFullScreen.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/MainTabFullScreen.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/MainTabFullScreen.jpg" /></a></p>
<p><strong>Editing tServer data</strong></p>
<p>If you look at the tServer records which come with the unxsBind sample data, you&#8217;ll see two servers:</p>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tServerTab.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tServerTab.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tServerTab.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tServerTab.jpg" /></a></p>
<p>Assuming you&#8217;ll have a master and a slave server, you need to modify these records according with your setup. Modify the greenday.yourdomain.com to match your master server hardware hostname. For doing so:</p>
<ol>
<li>Click on the greenday.yourdomain.com link at the left panel navigation list. </li>
<li>Press the [Modify] button at the top navigation bar. </li>
<li>Edit the value of the cLabel field. </li>
<li>Press the [Confirm Modify] button at the left panel. </li>
</ol>
<p>Now, repeat the above process for the blink182.yourdomain.com server. Remember that this one should match your slave server hardware hostname.</p>
<p><strong>Editing tNSSet data</strong></p>
<p>unxsBind comes with three NS Sets preconfigured. Probably you will use only one for your initial setup, so we will leave the other NS set untouched in this tutorial. The NS set we are going to modify is the &#8216;ns1-2.yourdomain.com&#8217; set.</p>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tNSSetTab.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tNSSetTab.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tNSSetTab.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tNSSetTab.jpg" /></a></p>
<p>For modifying it:</p>
<ol>
<li>Press on the &#8216;ns1-2.yourdomain.com&#8217; link at the left panel </li>
<li>Press the [Modify] button at the top navigation bar. </li>
<li>Edit the value of the cLabel field. Enter a sensible name, like ns1-2.yourcompany.com. </li>
<li>Specify the IP address of your master server in the cMasterIPs field. If using multiple master servers, put a semicolon (;) between the IP addresses. If using only a single master, append the semi-colon to the IP address. </li>
<li>Press the [Confirm Modify] button at the left panel. </li>
</ol>
<p><strong>Editing tNS data</strong></p>
<p>These three NS sets that come preconfigured, have their members setup at the tNS table, in this tutorial we will deal with ns1 and ns2 .yourdomain.com, master and slave respectively</p>
<p><a href="http://unixservice.com.ghitr.com/images/unxsBind/tNSTab.jpg"><img title="http://unixservice.com.ghitr.com/images/unxsBind/tNSTab.jpg" alt="http://unixservice.com.ghitr.com/images/unxsBind/tNSTab.jpg" src="http://unixservice.com.ghitr.com/images/unxsBind/tNSTab.jpg" /></a></p>
<p>We have to modify the ns1.yourdomain.com record to match your master server hostname. For doing so:</p>
<ol>
<li>Click on the ns1.yourdomain.com link at the left panel </li>
<li>Press the [Modify] button at the top navigation bar. </li>
<li>Edit the value of the cLabel field to match your master server hostname. </li>
<li>Press the [Confirm Modify] button at the left panel. </li>
</ol>
<p>Then repeat for ns2.yourdomain.com</p>
<p><strong>Putting the server into production</strong></p>
<p>Now that you&#8217;ve reached this point, you should change the BIND listening IP address to other than 127.0.0.1. For doing so, edit the <i>/usr/local/idns/named.conf</i> file. The section we are interested in is the &#8216;options&#8217; section. The unxsBind rpm will install a named.conf with the following &#8216;options&#8217; section:</p>
<pre>options {
        directory &quot;/usr/local/idns/named.d&quot;;
        listen-on { 127.0.0.1; 127.0.0.1; };
        version &quot;No version information available&quot;;
        query-source address 127.0.0.1 port 53;
        pid-file &quot;/usr/local/idns/named.pid&quot;;

        //tHit susbsystem required
        zone-statistics yes;

        //multi master configuration
        //if all your servers are masters (recommended)
        //this still allows secondary only zones i.e. external masters
        notify no;

        //master.zones will turn off recursion based on view
        //if any view needs recursion it must be &quot;yes&quot; here.
        recursion yes;
};</pre>
<p>You have to change the</p>
<pre>        listen-on { 127.0.0.1; 127.0.0.1; };</pre>
<p>line to:</p>
<pre>        listen-on { 192.168.238.133; 127.0.0.1; };</pre>
<p>Provided that 192.168.238.133 is the IP address of the interface your master server will bind connections to. Once that&#8217;s done run:</p>
<pre># rndc reconfig</pre>
<p>You should see that now your BIND server also listens at the IP address specified above:</p>
<pre>[root@localhost ~]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
tcp        0      0 192.168.238.133:53          0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN
tcp        0      0 :::80                       :::*                        LISTEN
tcp        0      0 :::9333                     :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 :::443                      :::*                        LISTEN</pre>
<p><strong>Building the slave server</strong></p>
<p>(soon)</p>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3293.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>子欲养而亲不待</title>
		<link>http://yangbo.name/archives/3290.html</link>
		<comments>http://yangbo.name/archives/3290.html#comments</comments>
		<pubDate>Tue, 10 Jan 2012 08:11:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[子欲养而亲不待]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3290.html</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2012/01/gameheart.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="gameheart" border="0" alt="gameheart" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2012/01/gameheart_thumb.jpg" width="444" height="5653" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3290.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>最近为什么这么多的大型网站的数据库被公布？</title>
		<link>http://yangbo.name/archives/3284.html</link>
		<comments>http://yangbo.name/archives/3284.html#comments</comments>
		<pubDate>Thu, 22 Dec 2011 02:38:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[diary]]></category>
		<category><![CDATA[csdn]]></category>
		<category><![CDATA[renren]]></category>
		<category><![CDATA[人人]]></category>
		<category><![CDATA[公布]]></category>
		<category><![CDATA[密码]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3284.html</guid>
		<description><![CDATA[&#160; 从CSDN开始。到多玩、人人、猫扑。 &#160; 我想在这几个网站上没有注册的网民是很少的了。 &#160; &#160; &#160;&#160;&#160; 鉴于网络的不安全性。还是建议大家将各个网站的用户名和密码都分开设置吧！&#160;&#160; 太恐怖了。如果全部网站的用户名和密码都是统一的。那岂不是一个网站的密码被盗。全部密码都裸奔了。。。 &#160; &#160; 现在的各类在线破解MD5加密算法的网站比比皆是！&#160; 拿到一个MD5值不在像几年前难以破解了。 &#160; &#160; 更莫说想CSDN这类明文报错的网站了。 &#160; &#160; 看到此贴的用户们。建议你们立即修改你的密码吧！！ &#160;]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p>从CSDN开始。到多玩、人人、猫扑。</p>
<p>&#160;</p>
<p>我想在这几个网站上没有注册的网民是很少的了。</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;&#160;&#160; 鉴于网络的不安全性。还是建议大家将各个网站的用户名和密码都分开设置吧！&#160;&#160; 太恐怖了。如果全部网站的用户名和密码都是统一的。那岂不是一个网站的密码被盗。全部密码都裸奔了。。。</p>
<p>&#160;</p>
<p>&#160;</p>
<p>现在的各类在线破解MD5加密算法的网站比比皆是！&#160; 拿到一个MD5值不在像几年前难以破解了。 </p>
<p>&#160;</p>
<p>&#160;</p>
<p>更莫说想CSDN这类明文报错的网站了。 </p>
<p>&#160;</p>
<p>&#160;</p>
<p>看到此贴的用户们。建议你们立即修改你的密码吧！！</p>
<p>&#160;</p>
<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/12/diFNUE.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="di-FNUE" border="0" alt="di-FNUE" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/12/diFNUE_thumb.jpg" width="329" height="123" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3284.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RedHat / Centos Disable IPv6 Networking</title>
		<link>http://yangbo.name/archives/3280.html</link>
		<comments>http://yangbo.name/archives/3280.html#comments</comments>
		<pubDate>Thu, 24 Nov 2011 15:39:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[operating system]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[disable ipv6]]></category>
		<category><![CDATA[fc]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3280.html</guid>
		<description><![CDATA[Our policy and network configuration does not requires IPv6 support in RHEL / CentOS / Fedora Linux. How do I prevent the kernel module from loading at boot time and disable IPv6 networking? You can easily prevent the kernel module from loading by updating the following two files: /etc/modprobe.conf - Kernel driver configuration file. /etc/sysconfig/network [...]]]></description>
			<content:encoded><![CDATA[<p>Our policy and network configuration does not requires IPv6 support in RHEL / CentOS / Fedora Linux. How do I prevent the kernel module from loading at boot time and disable IPv6 networking?</p>
<p><a href="http://www.cyberciti.biz/faq/category/centos/"><img border="0" src="http://files.cyberciti.biz/cbzcache/3rdparty/centos_logo.png" /></a><a href="http://www.cyberciti.biz/faq/category/fedora-linux/"><img border="0" src="http://files.cyberciti.biz/cbzcache/3rdparty/fedora-logo.png" /></a></p>
<p>You can easily prevent the kernel module from loading by updating the following two files:</p>
<pre>/etc/modprobe.conf - Kernel driver configuration file.
/etc/sysconfig/network - RHEL / CentOS networking configuration file. </pre>
<p><span id="more-3280"></span><br />
<h4>/etc/modprobe.conf</h4>
<p>Edit /etc/modprobe.conf, enter:<br />
  </p>
<pre># vi /etc/modprobe.conf </pre>
<p>Append the following line:</p>
<pre>install ipv6 /bin/true</pre>
<p>Save and close the file.</p>
<h4>/etc/sysconfig/network</h4>
<p>Edit /etc/sysconfig/network, enter:<br />
  </p>
<pre># vi /etc/sysconfig/network </pre>
<p>Update / add as follows:</p>
<pre>&#160; NETWORKING_IPV6=no
IPV6INIT=no&#160; </pre>
<p>Save and close the file. Restart networking service<br />
  </p>
<pre># service network restart
# rmmod ipv6 </pre>
<p>Alternatively, simple reboot the box:<br />
  </p>
<pre># reboot </pre>
<p>Verify IPv6 is disabled, enter:<br />
  </p>
<pre># lsmod | grep ipv6
# /sbin/ifconfig</pre>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3280.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>修改RHEL 6的YUM源</title>
		<link>http://yangbo.name/archives/3279.html</link>
		<comments>http://yangbo.name/archives/3279.html#comments</comments>
		<pubDate>Thu, 24 Nov 2011 13:46:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[operating system]]></category>
		<category><![CDATA[Red Hat Enterprise Linux]]></category>
		<category><![CDATA[RHEL6]]></category>
		<category><![CDATA[yum]]></category>
		<category><![CDATA[修改yum源]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3279.html</guid>
		<description><![CDATA[&#160; &#160; 卸载掉RHEL6自带的YUM包。 &#160;&#160;&#160; 使用下列命令检查YUM的依赖关系。 rpm -qR yum 得到的依赖关系有： [root@bogon doc]# rpm -qR yum-3.2.27-14.el6.noarch /usr/bin/python config(yum) = 3.2.27-14.el6 pygpgme python &#62;= 2.4 python(abi) = 2.6 python-iniparse python-sqlite python-urlgrabber &#62;= 3.9.0-8 rpm &#62;= 0:4.4.2 rpm-python rpmlib(CompressedFileNames) &#60;= 3.0.4-1 rpmlib(FileDigests) &#60;= 4.6.0-1 rpmlib(PartialHardlinkSets) &#60;= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) &#60;= 4.0-1 yum-metadata-parser &#62;= 1.1.0 rpmlib(PayloadIsXz) &#60;= 5.2-1 [root@bogon doc]# rpm [...]]]></description>
			<content:encoded><![CDATA[<h1>&#160;</h1>
<h1>&#160;</h1>
<h1>卸载掉RHEL6自带的YUM包。</h1>
<p>&#160;&#160;&#160; 使用下列命令检查YUM的依赖关系。</p>
<pre>rpm -qR yum</pre>
<p>得到的依赖关系有：</p>
<pre>[root@bogon doc]# rpm -qR yum-3.2.27-14.el6.noarch
/usr/bin/python
config(yum) = 3.2.27-14.el6
pygpgme
python &gt;= 2.4
python(abi) = 2.6
python-iniparse
python-sqlite
python-urlgrabber &gt;= 3.9.0-8
rpm &gt;= 0:4.4.2
rpm-python
rpmlib(CompressedFileNames) &lt;= 3.0.4-1
rpmlib(FileDigests) &lt;= 4.6.0-1
rpmlib(PartialHardlinkSets) &lt;= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) &lt;= 4.0-1
yum-metadata-parser &gt;= 1.1.0
rpmlib(PayloadIsXz) &lt;= 5.2-1
[root@bogon doc]# rpm -qR yum
/usr/bin/python
config(yum) = 3.2.27-14.el6
pygpgme
python &gt;= 2.4
python(abi) = 2.6
python-iniparse
python-sqlite
python-urlgrabber &gt;= 3.9.0-8
rpm &gt;= 0:4.4.2
rpm-python
rpmlib(CompressedFileNames) &lt;= 3.0.4-1
rpmlib(FileDigests) &lt;= 4.6.0-1
rpmlib(PartialHardlinkSets) &lt;= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) &lt;= 4.0-1
yum-metadata-parser &gt;= 1.1.0
rpmlib(PayloadIsXz) &lt;= 5.2-1</pre>
<p>&#160;</p>
<p>&#160;</p>
<p>使用YUM来卸载掉自己。</p>
<p><span id="more-3279"></span>
<p>命令是：</p>
<pre>yum erase yum</pre>
<p>运行结果是：</p>
<pre>[root@bogon doc]# yum erase yum
Loaded plugins: rhnplugin
This system <span style="color: #0000ff">is</span> not registered with RHN.
RHN support will be disabled.
Setting up Remove Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package yum.noarch 0:3.2.27-14.el6 <span style="color: #0000ff">set</span> to be erased
--&gt; Processing Dependency: yum &gt;= 3.2.19-15 <span style="color: #0000ff">for</span> package: yum-rhn-plugin-0.9.1-5.el6.noarch
--&gt; Processing Dependency: yum &gt;= 3.2.25-10 <span style="color: #0000ff">for</span> package: yum-utils-1.1.26-11.el6.noarch
--&gt; Running transaction check
---&gt; Package yum-rhn-plugin.noarch 0:0.9.1-5.el6 <span style="color: #0000ff">set</span> to be erased
--&gt; Processing Dependency: yum-rhn-plugin &gt;= 0.5.3-30 <span style="color: #0000ff">for</span> package: rhn-check-1.0.0-38.el6.noarch
---&gt; Package yum-utils.noarch 0:1.1.26-11.el6 <span style="color: #0000ff">set</span> to be erased
--&gt; Processing Dependency: yum-utils <span style="color: #0000ff">for</span> package: abrt-addon-ccpp-1.1.13-4.el6.i686
--&gt; Running transaction check
---&gt; Package abrt-addon-ccpp.i686 0:1.1.13-4.el6 <span style="color: #0000ff">set</span> to be erased
--&gt; Processing Dependency: abrt-addon-ccpp <span style="color: #0000ff">for</span> package: abrt-cli-1.1.13-4.el6.i686
---&gt; Package rhn-check.noarch 0:1.0.0-38.el6 <span style="color: #0000ff">set</span> to be erased
--&gt; Processing Dependency: rhn-check &gt;= 0.0.8 <span style="color: #0000ff">for</span> package: rhnsd-4.9.3-2.el6.i686
--&gt; Running transaction check
---&gt; Package abrt-cli.i686 0:1.1.13-4.el6 <span style="color: #0000ff">set</span> to be erased
---&gt; Package rhnsd.i686 0:4.9.3-2.el6 <span style="color: #0000ff">set</span> to be erased
--&gt; Processing Dependency: rhnsd <span style="color: #0000ff">for</span> package: rhn-setup-1.0.0-38.el6.noarch
--&gt; Running transaction check
---&gt; Package rhn-setup.noarch 0:1.0.0-38.el6 <span style="color: #0000ff">set</span> to be erased
--&gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================================
 Package       Arch   Version       Repository                                             Size
================================================================================================
Removing:
 yum           noarch 3.2.27-14.el6 @anaconda-RedHatEnterpriseLinux-201009221732.i386/6.0 3.8 M
Removing <span style="color: #0000ff">for</span> dependencies:
 abrt-addon-ccpp
               i686   1.1.13-4.el6  @anaconda-RedHatEnterpriseLinux-201009221732.i386/6.0  49 k
 abrt-cli      i686   1.1.13-4.el6  @anaconda-RedHatEnterpriseLinux-201009221732.i386/6.0  63 k
 rhn-check     noarch 1.0.0-38.el6  @anaconda-RedHatEnterpriseLinux-201009221732.i386/6.0  38 k
 rhn-setup     noarch 1.0.0-38.el6  @anaconda-RedHatEnterpriseLinux-201009221732.i386/6.0 190 k
 rhnsd         i686   4.9.3-2.el6   @anaconda-RedHatEnterpriseLinux-201009221732.i386/6.0  89 k
 yum-rhn-plugin
               noarch 0.9.1-5.el6   @anaconda-RedHatEnterpriseLinux-201009221732.i386/6.0 174 k
 yum-utils     noarch 1.1.26-11.el6 @anaconda-RedHatEnterpriseLinux-201009221732.i386/6.0 239 k

Transaction Summary
================================================================================================
Remove        8 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is <span style="color: #0000ff">this</span> ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : abrt-cli-1.1.13-4.el6.i686                                                                                                            1/8
  Erasing        : rhn-check-1.0.0-38.el6.noarch                                                                                                         2/8
  Erasing        : yum-rhn-plugin-0.9.1-5.el6.noarch                                                                                                     3/8
  Erasing        : rhn-setup-1.0.0-38.el6.noarch                                                                                                         4/8
  Erasing        : rhnsd-4.9.3-2.el6.i686                                                                                                                5/8
  Erasing        : abrt-addon-ccpp-1.1.13-4.el6.i686                                                                                                     6/8
  Erasing        : yum-utils-1.1.26-11.el6.noarch                                                                                                        7/8
  Erasing        : yum-3.2.27-14.el6.noarch                                                                                                              8/8 

Removed:
  yum.noarch 0:3.2.27-14.el6                                                                                                                                 

Dependency Removed:
  abrt-addon-ccpp.i686 0:1.1.13-4.el6     abrt-cli.i686 0:1.1.13-4.el6            rhn-check.noarch 0:1.0.0-38.el6      rhn-setup.noarch 0:1.0.0-38.el6
  rhnsd.i686 0:4.9.3-2.el6                yum-rhn-plugin.noarch 0:0.9.1-5.el6     yum-utils.noarch 0:1.1.26-11.el6    

Complete!</pre>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<h1>重新安装Centos的YUM包。</h1>
<p>然后重新安装Centos6.0的YUM包。</p>
<p>安装YUM需要的RPM包有：</p>
<pre>yum-3.2.27-14.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm</pre>
<p>这两个RPM包的下载地址为：</p>
<p><a title="http://mirrors.163.com/centos/6.0/os/i386/Packages/yum-3.2.27-14.el6.centos.noarch.rpm" href="http://mirrors.163.com/centos/6.0/os/i386/Packages/yum-3.2.27-14.el6.centos.noarch.rpm" target="_blank">http://mirrors.163.com/centos/6.0/os/i386/Packages/yum-3.2.27-14.el6.centos.noarch.rpm</a></p>
<p>&#160;</p>
<p><a title="http://mirrors.163.com/centos/6.0/os/i386/Packages/yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm" href="http://mirrors.163.com/centos/6.0/os/i386/Packages/yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm" target="_blank">http://mirrors.163.com/centos/6.0/os/i386/Packages/yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm</a></p>
<p>&#160;</p>
<p>建议将2个RPM包下载到一个单独的文件夹。下载完成后，安装这2个RPM包。</p>
<p>安装命令：</p>
<p>省时间的方式是：</p>
<pre>rpm -ivh *.rpm</pre>
<p>NB的方式是：</p>
<pre>
rpm -ivh yum-3.2.27-14.el6.centos.noarch.rpm  yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm</pre>
<p>&#160;</p>
<p>&#160;</p>
<h1>小问题：</h1>
<p>&#160;&#160;&#160; 如果直接安装Centos的YUM包，并修改YUM源后会发现不能够正常的Yum install文件，并提示下列错误：</p>
<pre>http:<span style="color: #008000">//mirrors.163.com/centos/%24releasever/os/i386/repodata/repomd.xml: [Errno 14] HTTP Error 404 : http://mirrors.163.com/centos/%24releasever/os/i386/repodata/repomd.xml </span>
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) <span style="color: #0000ff">for</span> repository: <span style="color: #0000ff">base</span>. Please verify its path and <span style="color: #0000ff">try</span> again</pre>
<p>这是因为没有修改RHEL的发行版本造成的。如果要修正这个问题则需要执行下列命令：</p>
<pre>rpm -e --nodeps redhat-release-server-6Server-6.0.0.37.el6.i686 redhat-indexhtml-6-1.el6.noarch</pre>
<p>然后下载Centos的release和indexhtml包，安装即可。</p>
<pre>wget http:<span style="color: #008000">//mirrors.163.com/centos/6.0/os/i386/Packages/centos-indexhtml-6-1.el6.centos.noarch.rpm</span>
wget http:<span style="color: #008000">//mirrors.163.com/centos/6.0/os/i386/Packages/centos-release-6-0.el6.centos.5.i686.rpm</span></pre>
<p>安装这2个包即可。</p>
<pre>yum clean all</pre>
<p>到这儿跟换RHEL的YUM源到Centos的操作已经完成了。</p>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3279.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RedHat Enterprise Linux(RHEL)6 正式版下载地址</title>
		<link>http://yangbo.name/archives/3278.html</link>
		<comments>http://yangbo.name/archives/3278.html#comments</comments>
		<pubDate>Thu, 24 Nov 2011 10:47:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3278.html</guid>
		<description><![CDATA[&#160;&#160;&#160; 红帽在11月10日发布了其企业级Linux，RHEL 6的正式版（注：红帽官方已经不用RHEL这个简称了，其全称叫做Red Hat Enterprise Linux）。“红帽RHEL 6是10年研发和合作的结晶”，红帽产品和技术部总裁Paul Cormier在发布会现场如是说。Cormier将这个操作系统看作是云部署的基础单元，以及Windows Server的潜在替代品。“我们想要让Linux在每一个IT单位里应用的更加深入。这是一个取代微软服务器环境的极佳产品。”总的来说，RHEL 6包含了超过2000个包，相对之前的版本而言增加了85%的代码量，一共增添了1800个新特性，解决了14000多个bug。 &#160; &#160;&#160;&#160; 新版带来了一个完全重写的进程调度器和一个全新的多处理器锁定机制，并利用NVIDIA图形处理器的优势对GNOME和KDE做了重大升级，新的系统安全 服务守护程序（SSSD）功能允许集中身份管理，而SELinux的沙盒功能允许管理员更好地处理不受信任的内容。 &#160; &#160;&#160;&#160; RHEL 6内置的新组件有GCC 4.4（包括向下兼容RHEL 4和5组件）、OpenJDK 6、Tomcat 6、Ruby 1.8.7和Rails 3、PHP 5.3.2与Perl 5.10.1，数据库前端有PostgreSQL 8.4.4, MySQL 5.1.47和SQLite 3.6.20。 &#160; 下载地址： I386版： ed2k://&#124;file&#124;%5B%E3%80%8A%E7%BA%A2%E5%B8%BDLinux6.0.%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%89%88%E3%80%8B%28Red.Hat.Enterprise.Linux.Server.6.0%29%E5%AE%98%E6%96%B9%E5%A4%9A%E5%9B%BD%E8%AF%AD%E8%A8%80%E7%89%88%2C%E9%80%82%E7%94%A8x86%E5%92%8Cx64%E5%B9%B3%E5%8F%B0%5B%E5%85%89%E7%9B%98%E9%95%9C%E5%83%8F%5D%5D.rhel-server-6.0-i386-dvd.iso&#124;2931056640&#124;503184dff4dd37542eee6e57f4a85341&#124;h=azsa3gqbngp23ujbqeyc3ghd4wwtdley&#124;/ X86_64版： ed2k://&#124;file&#124;%5B%E3%80%8A%E7%BA%A2%E5%B8%BDLinux6.0.%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%89%88%E3%80%8B%28Red.Hat.Enterprise.Linux.Server.6.0%29%E5%AE%98%E6%96%B9%E5%A4%9A%E5%9B%BD%E8%AF%AD%E8%A8%80%E7%89%88%2C%E9%80%82%E7%94%A8x86%E5%92%8Cx64%E5%B9%B3%E5%8F%B0%5B%E5%85%89%E7%9B%98%E9%95%9C%E5%83%8F%5D%5B2010%E5%B9%B411%E6%9C%8812%E6%97%A5%E6%9B%B4%E6%96%B0x64%E7%89%88%E6%9C%AC%5D%5D.rhel-server-6.0-x86_64-dvd.iso&#124;3431618560&#124;c9834d41931eaea393da9f19d08c1a6b&#124;h=wpd3ow4ujlc3k5miv2wym5z6gzr73c4k&#124;/ &#160; MD5值： file: rhel-server-6.0-i386-dvd.iso size: 2,795 MB md5: 291d234c93442405972689b4b41c14bc sha256: 3b637b7120c855eb775a35a3d281232525eed223c6a1ea8a35b20fd17af5fba4 file: rhel-server-6.0-x86_64-dvd.iso size: 3,273 MB md5: f7141396c6a19399d63e8c195354317d sha256: [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; 红帽在11月10日发布了其企业级Linux，RHEL 6的正式版（注：红帽官方已经不用RHEL这个简称了，其全称叫做Red Hat Enterprise Linux）。“红帽RHEL 6是10年研发和合作的结晶”，红帽产品和技术部总裁Paul Cormier在发布会现场如是说。Cormier将这个操作系统看作是云部署的基础单元，以及Windows Server的潜在替代品。“我们想要让Linux在每一个IT单位里应用的更加深入。这是一个取代微软服务器环境的极佳产品。”总的来说，RHEL 6包含了超过2000个包，相对之前的版本而言增加了85%的代码量，一共增添了1800个新特性，解决了14000多个bug。    <br />&#160; <br />&#160;&#160;&#160; 新版带来了一个完全重写的进程调度器和一个全新的多处理器锁定机制，并利用NVIDIA图形处理器的优势对GNOME和KDE做了重大升级，新的系统安全 服务守护程序（SSSD）功能允许集中身份管理，而SELinux的沙盒功能允许管理员更好地处理不受信任的内容。     <br />&#160; <br />&#160;&#160;&#160; RHEL 6内置的新组件有GCC 4.4（包括向下兼容RHEL 4和5组件）、OpenJDK 6、Tomcat 6、Ruby 1.8.7和Rails 3、PHP 5.3.2与Perl 5.10.1，数据库前端有PostgreSQL 8.4.4, MySQL 5.1.47和SQLite 3.6.20。</p>
<p>&#160;</p>
<p>下载地址：</p>
<p><span id="more-3278"></span>
<p>I386版：</p>
<pre>ed2k://|file|%5B%E3%80%8A%E7%BA%A2%E5%B8%BDLinux6.0.%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%89%88%E3%80%8B%28Red.Hat.Enterprise.Linux.Server.6.0%29%E5%AE%98%E6%96%B9%E5%A4%9A%E5%9B%BD%E8%AF%AD%E8%A8%80%E7%89%88%2C%E9%80%82%E7%94%A8x86%E5%92%8Cx64%E5%B9%B3%E5%8F%B0%5B%E5%85%89%E7%9B%98%E9%95%9C%E5%83%8F%5D%5D.rhel-server-6.0-i386-dvd.iso|2931056640|503184dff4dd37542eee6e57f4a85341|h=azsa3gqbngp23ujbqeyc3ghd4wwtdley|/</pre>
<p>X86_64版：</p>
<pre>ed2k://|file|%5B%E3%80%8A%E7%BA%A2%E5%B8%BDLinux6.0.%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%89%88%E3%80%8B%28Red.Hat.Enterprise.Linux.Server.6.0%29%E5%AE%98%E6%96%B9%E5%A4%9A%E5%9B%BD%E8%AF%AD%E8%A8%80%E7%89%88%2C%E9%80%82%E7%94%A8x86%E5%92%8Cx64%E5%B9%B3%E5%8F%B0%5B%E5%85%89%E7%9B%98%E9%95%9C%E5%83%8F%5D%5B2010%E5%B9%B411%E6%9C%8812%E6%97%A5%E6%9B%B4%E6%96%B0x64%E7%89%88%E6%9C%AC%5D%5D.rhel-server-6.0-x86_64-dvd.iso|3431618560|c9834d41931eaea393da9f19d08c1a6b|h=wpd3ow4ujlc3k5miv2wym5z6gzr73c4k|/</pre>
<p>&#160;</p>
<p>MD5值：</p>
<pre>file: rhel-server-6.0-i386-dvd.iso
 size: 2,795 MB
 md5: 291d234c93442405972689b4b41c14bc
 sha256: 3b637b7120c855eb775a35a3d281232525eed223c6a1ea8a35b20fd17af5fba4

file: rhel-server-6.0-x86_64-dvd.iso
 size: 3,273 MB
 md5: f7141396c6a19399d63e8c195354317d
 sha256: a6fef01cb4d790975a11479018785bfe4e04b9bdeaea8be24c8a4055f98d127e</pre>
<p>相关截图：</p>
<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-01.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="rhel6-01" border="0" alt="rhel6-01" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-01_thumb.jpg" width="244" height="187" /></a></p>
<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-02.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="rhel6-02" border="0" alt="rhel6-02" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-02_thumb.jpg" width="244" height="185" /></a></p>
<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-03.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="rhel6-03" border="0" alt="rhel6-03" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-03_thumb.jpg" width="244" height="142" /></a></p>
<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-04.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="rhel6-04" border="0" alt="rhel6-04" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-04_thumb.jpg" width="244" height="185" /></a></p>
<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-05.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="rhel6-05" border="0" alt="rhel6-05" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/rhel6-05_thumb.jpg" width="244" height="185" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3278.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《DNS and BIND on IPv6 (第1版)》(DNS and BIND on IPv6, 1st edition)英文文字版[PDF]</title>
		<link>http://yangbo.name/archives/3266.html</link>
		<comments>http://yangbo.name/archives/3266.html#comments</comments>
		<pubDate>Tue, 22 Nov 2011 03:28:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Document]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[ipv6]]></category>

		<guid isPermaLink="false">http://yangbo.name/archives/3266.html</guid>
		<description><![CDATA[下载连接： [DNS.and.BIND.on.IPv6(第1版)].(DNS.and.BIND.on.IPv6).Cricket.Liu.文字版.pdf &#160; 中文名: DNS and BIND on IPv6 (第1版) 原名: DNS and BIND on IPv6, 1st edition 作者: Cricket Liu 图书分类: 软件 资源格式: PDF 版本: 英文文字版/更新EPUB版本 出版社: O&#8217;Reilly 书号: 978-1449305192 发行时间: 2011年05月27日 地区: 美国 语言: 英文 简介: 内容介绍： If you&#8217;re preparing to roll out IPv6 on your network, this concise book provides the essentials [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/lrg.jpg" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="lrg" border="0" alt="lrg" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/lrg_thumb.jpg" width="187" height="244" /></a> </p>
<p>下载连接：</p>
<pre><a href="ed2k://|file|%5BDNS.and.BIND.on.IPv6%28%E7%AC%AC1%E7%89%88%29%5D.%28DNS.and.BIND.on.IPv6%29.Cricket.Liu.%E6%96%87%E5%AD%97%E7%89%88.pdf|4337674|44d0facf0d19ffc6f1a7686b44915257|h=sntfssb74k3juqota6rwzc4hch6mmmh4|/">[DNS.and.BIND.on.IPv6(第1版)].(DNS.and.BIND.on.IPv6).Cricket.Liu.文字版.pdf</a></pre>
<p>&#160;</p>
<p><strong>中文名</strong>: DNS and BIND on IPv6 (第1版)</p>
<p><strong>原名</strong>: DNS and BIND on IPv6, 1st edition</p>
<p><strong>作者</strong>: <a href="http://www.verycd.com/search/star/Cricket+Liu">Cricket Liu</a></p>
<p><strong>图书分类</strong>: 软件</p>
<p><strong>资源格式</strong>: PDF</p>
<p><strong>版本</strong>: 英文文字版/更新EPUB版本</p>
<p><strong>出版社</strong>: O&#8217;Reilly</p>
<p><strong>书号</strong>: 978-1449305192</p>
<p><strong>发行时间</strong>: 2011年05月27日</p>
<p><strong>地区</strong>: <a href="http://www.verycd.com/search/area/usa">美国</a></p>
<p><strong>语言</strong>: <a href="http://www.verycd.com/search/lang/english">英文</a></p>
<p><strong>简介</strong>: </p>
<p>
  <br /><b>内容介绍：</b> </p>
<p>If you&#8217;re preparing to roll out IPv6 on your network, this concise book provides the essentials you need to support this protocol with DNS. You&#8217;ll learn how DNS was extended to accommodate IPv6 addresses, and how you can configure a BIND name server to run on the network. This book also features methods for troubleshooting problems with IPv6 forward- and reverse-mapping, techniques for helping islands of IPv6 clients communicate with IPv4 resources, and many other topics. </p>
<p><b>作者介绍：</b> </p>
<p>Cricket Liu </p>
<p>Cricket Liu graduated from the University of California, Berkeley, that great bastion of free speech, unencumbered Unix, and cheap pizza. He joined Hewlett-Packard after graduation and worked for HP for nine years. </p>
<p>Cricket began managing the hp.com zone after the Loma Prieta earthquake forcibly transferred the zone&#8217;s management from HP Labs to HP&#8217;s Corporate Offices (by cracking a sprinkler main and flooding a Labs computer room). Cricket was hostmaster@hp.com for over three years, and then joined HP&#8217;s Professional Services Organization to co-found HP&#8217;s Internet Consulting Program. </p>
<p>Cricket left HP in 1997 to form Acme Byte &amp; Wire, a DNS consulting and training company, with his friend Matt Larson. Network Solutions acquired Acme in June 2000, and later the same day merged with VeriSign. Cricket worked for a year as Director of DNS Product Management for VeriSign Global Registry Services. </p>
<p>Cricket joined Infoblox, a company that develops DNS and DHCP appliances, in March, 2003. He is currently their Vice President of Architecture. </p>
<p>Cricket, his wife, Paige, their son, Walt, and daughter, Greta, live in California with their two Siberian Huskies, Annie and Dakota. </p>
<p><b>内容截图：</b> </p>
<p><a href="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://yangbowordpress-wordpress.stor.sinaapp.com/uploads/2011/11/image_thumb1.png" width="244" height="154" /></a> </p>
<p><strong>目录</strong>: </p>
<p>Chapter 1 DNS and IPv6<br />
  <br />Chapter 2 BIND on IPv6 </p>
<p>Chapter 3 Resolver Configuration </p>
<p>Chapter 4 DNS64 </p>
<p>Chapter 5 Troubleshooting </p>
]]></content:encoded>
			<wfw:commentRss>http://yangbo.name/archives/3266.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

