MacBook+USBワイヤレスLANアダプタで11nを11gに変換(GW-USMicroN)
ちょっとした集まりで「MacBook+USBワイヤレスLANアダプタ」で802.11n/ワイヤレスLANを802.11gに再共有しないといけないことがあります. 特にiPhone 3Gは802.11gまでなので(^^...
Mac OS X対応のUSB-ワイヤレスLANアダプタとMacBook/Proあれば問題なく再共有できるのですが、注意するのは、AirMacIF側のみステーションになれるのと、DHCP配布アドレス帯が10.0.2.0/24になることくらい.(ちなみに有線IF側にDHCP配布する場合は192.168.2.0/24帯)
-
-
-
- -
-
-
以下そのメモです..
USB-ワイヤレスLANアダプタは、Ralinkチップはドライバーをベンダーが出しているので、バッファローやアイオーデータでもいけそうだけど、ワタシは大きさとメーカーのMacOSX対応名言の心意気をかい(^^..プラネックスのGW-USMicroNを利用してます.
iPhoneと較べてもかなりちいさい大きさでうっかりするとなしくしそう.
MacBookに差すとこんな感じ.
利用チップはRalink RT2870で、ドライバーはプラネックス社配布よりRalink社配布が新しく、こちらを利用.
Mac OS X 10.5対応だけどStartupItemsに登録されちゃうのは..まあいいか(^^
OS側はen2*として認識されます.
$ ifconfig en2 en2: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ... ether 00:90:cc:xx:xx:xx <-- プラネックスのOUI ...
あとはふつうに、共有パネル>インターネット共有 で、NAT+ipfwとbootpd(DHCP)とBINDとワイヤレスステーションの設定がされ利用できます.
-
-
-
- -
-
-
いちおう確認しておくと..
$ ps ax 574 ?? Ss 0:00.01 /usr/libexec/InternetSharing ... 576 ?? Ss 0:00.28 /usr/sbin/natd -alias_address en2_IPaddress -interface en2 -use_sockets -same_ports -unregistered_only -dynamic -clamp_mss -enable_natportmap -natportmap_interface en1 ... 577 ?? Ss 0:00.01 /usr/libexec/bootpd -P ... 578 ?? S 0:00.02 /usr/sbin/named -c /etc/com.apple.named.conf.proxy -f ... # ipfw -a show 00010 3582 1468195 divert 8668 ip from any to any via en1 65535 5012 1588674 allow ip from any to any # $ sysctl -a ... net.inet.ip.forwarding: 1 ... $ cat /Library/Preferences/SystemConfiguration/com.apple.nat.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>NAT</key> <dict> <key>AirPort</key> <dict> <key>40BitEncrypt</key> <integer>0</integer> <key>Channel</key> <integer>0</integer> <key>Enabled</key> <integer>1</integer> <key>Extreme</key> <string></string> <key>NetworkName</key> <string>myESSID</string> <key>NetworkPassword</key> <data> ... </data> </dict> <key>Enabled</key> <integer>1</integer> <key>PrimaryInterface</key> <dict> <key>Device</key> <string>en2</string> <key>Enabled</key> <integer>0</integer> <key>HardwareKey</key> <string></string> <key>PrimaryUserReadable</key> <string>USB Ethernet(en2)</string> </dict> <key>PrimaryService</key> <string>...</string> <key>SharingDevices</key> <array> <string>en1</string> </array> </dict> </dict> </plist> $ $ cat /etc/bootpd.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Subnets</key> <array> <dict> <key>_creator</key> <string>com.apple.nat</string> <key>allocate</key> <true/> <key>dhcp_domain_name_server</key> <string>10.0.2.1</string> <key>dhcp_router</key> <string>10.0.2.1</string> <key>lease_max</key> <integer>3600</integer> <key>lease_min</key> <integer>3600</integer> <key>name</key> <string>10.0.2</string> <key>net_address</key> <string>10.0.2.0</string> <key>net_mask</key> <string>255.255.255.0</string> <key>net_range</key> <array> <string>10.0.2.2</string> <string>10.0.2.254</string> </array> </dict> </array> <key>bootp_enabled</key> <false/> <key>detect_other_dhcp_server</key> <integer>1</integer> <key>dhcp_enabled</key> <array> <string>en1</string> </array> <key>reply_threshold_seconds</key> <integer>4</integer> </dict> </plist> $ $ cat /etc/com.apple.named.conf.proxy ... options { ... listen-on { 10.0.2.1; }; forward first; forwarders { en2_IPaddress; }; }; ...
というカンジ.
補
...またどうしてもDHCP配布アドレス帯バッティングして__テンポラリ利用の場合(クライアントもPCの場合)__は、DHCP配布あきらめて、AirMacIF(en1)に適当なIPアドレス割り当てて(もちろんWirelessクライアントもIP/DNS手動設定で)利用することもできてます.(ちなみにAirMac側でDHCPサーバ動かさないならcom.apple.nat.plistのSharingNetworkNumberStart書くとaliasでIFに与えられてうまくゆきます. SnowLeopardでAirMac側でもできることに期待!)
たとえば以下10.0.2.0/24 -> 172.16.1.0/24に変えるばあい.
ホスト側は
wl-host# ifconfig en1 alias 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255 <-- こっちに割当て wl-host# ifconfig en1 -alias 10.0.2.1 netmask 0xffffff00 broadcast 10.0.2.255 wl-host$ ifconfig en1 <-- いちおう確認.. en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ... inet 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255 ... wl-host$ netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default Upper-GW UGSc 41 2350 en2 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 1 2 lo0 169.254 link#5 UCS 0 0 en2 169.254.111.106 127.0.0.1 UHS 0 0 lo0 172.16.1/24 link#7 UC 2 0 en1 172.16.1.1 en2-HWaddress UHLW 0 4 lo0 172.16.1.2 en2-wl-clientHWAddress UHLW 0 2003 en1 1075 en2-network link#5 UCS 2 0 en2 Upper-GW 0:a0:de:28:5b:a9 UHLW 48 286 en2 1197 en2-Address 127.0.0.1 UHS 0 0 lo0 ...
クライアント側は..
wl-client# ifconfig en1 alias 172.16.1.2 netmask 0xffffff00 broadcast 172.16.1.255 <-- こっちに割当て wl-client# ifconfig en1 -alias 10.0.2.2 netmask 0xffffff00 broadcast 10.0.2.255 wl-clien$ ifconfig en1 <-- いちおう確認.. en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ... inet 172.16.1.2 netmask 0xffffff00 broadcast 172.16.1.255 ... wl-client# route change -net 0.0.0.0 172.16.1.1 <-- 経路かえて.. change net 0.0.0.0 gateway 172.16.1.1 wl-client# route delete -host 10.0.2.2 127.0.0.1 <-- 残ってたので.. wl-clien$ netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 172.16.1.1 UGSc 5 18 en1 10.0.2.4 127.0.0.1 UHS 0 0 lo0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 0 0 lo0 169.254 link#5 UCS 0 0 en1 172.16.1/24 link#5 UC 1 0 en1 172.16.1.1 en1-HWaddress UHLW 2 223 en1 969
で..
wl-client$ dig @208.67.222.222 www.apple.com <-- いちお確認..DNSサーバは適当に.. ... ;; ANSWER SECTION: www.apple.com. 352 IN CNAME www.apple.com.akadns.net. www.apple.com.akadns.net. 14 IN A 17.251.200.32 ... wl-client$ telnet 17.251.200.32 80 <-- いちお確認..こっちも適当に.. Trying 17.251.200.32... Connected to cup-www.apple.com. Escape character is '^]'. GET / .....
とかできてます.
参考>
InternetSharing(8)
http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man8/InternetSharing.8.html
NATD(8)
http://developer.apple.com/documentation/Darwin/Reference/Manpages/man8/natd.8.html
IPFW(8)
http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/ipfw.8.html
SYSCTL(3)
http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/sysctl.3.html
BOOTPD(8)
http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man8/bootpd.8.html
NAMED(8)
developer.apple.com/documentation/Darwin/Reference/ManPages/man8/ named.8.html
NAMED.CONF(5)
http://developer.apple.com/documentation/Darwin/Reference/ManPages/man5/named.conf.5.html
プラネックス GW-USMicroN
http://www.planex.co.jp/product/wireless/gw-usmicron/
ドライバー
-Ralink RT2870
http://www.ralinktech.com/ralink/data/RT2800.pdf
-ドライバー(RT2870)
http://www.ralinktech.com/ralink/Home/Support/Macintosh.html
これでお気楽ご気楽...
追補:
RT2870のトライバーばv3になってました.
- ドライバー(RT2870)
http://www.ralinktech.com/support.php?s=3
PLANEX?ドラクエもモンハンもWi-Fi通信するならこれ 150Mbps?ハイパワー無線LAN?小型USBアダプタ?(WPSボタン) GW-USMicroN
- 出版社/メーカー: プラネックス
- 発売日: 2008/11/28
- メディア: Personal Computers
- 購入: 59人 クリック: 1,983回
- この商品を含むブログ (37件) を見る
- 出版社/メーカー: アップル
- 発売日: 2008/08/15
- メディア: DVD-ROM
- 購入: 1人 クリック: 20回
- この商品を含むブログ (9件) を見る
Apple MacBook 2.0GHz 13.3インチ MB466J/A
- 出版社/メーカー: アップル
- 発売日: 2008/10/15
- メディア: Personal Computers
- クリック: 70回
- この商品を含むブログ (55件) を見る