from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

virtualboxとkali linuxとtelnet

自分virtualboxのnetwork関係全くわからないんだけど1日中いじりまくったらなんとかできたっぽいのでとりあえず書いておく

自分のlinuxスキル

linux?なにそれ?から0.1mmぐらいステップアップしました。がいまだによくわからん。特にiptablesとかsystemctlとかsshd,inetdとか謎すぎる

virtualboxのnetworkについて

50サイトぐらい見まくった。

bitwave.showcase-tv.com

↓神。上もかなりいいけど。

Virtual Boxのネットワーク設定 - ぐ~だらびより。

↓英語です。

Chapter 6. Virtual networking


ザックリ解説(自分の復讐)

nat・・・いわゆる普通のnatとは結構違う感じ。一度頭をリセットすること。

まずこのnatではguestとhostに仮想的なネットワークを作る。virtualboxのnetworkエンジンがnatの役割をする。ここでいうnatは動的natのこと。

動的natの場合、localからglobalに行くときにnatプールの中に5つくらいあるglobalipアドレスに変換して対応表をdynamicnattableに書き込む。んでレスポンスはそれを見て変換する。そのため外部から内部にアクセスすることはできない(一意にノードを特定するにはglobalアドレスが必要。)

動的 NAT はセキュリティや不足する IP アドレスの問題解決に役に立つが、IP アドレスが固定されないという問題点がある。例えば、LAN 内部のサーバをインターネットなど、外部から参照する必要が生じた場合、外部から参照するためにはグローバル IP アドレスが必要だが、動的 NAT では解決できない。

まあつまり外部(hostOS)から内部(GuestOS)にアクセスすることができないよってこと。

ポートフォアーディング

well known portだとport forwordingできない。

ssh port forwordingはsshトンネリングともいう。穴あけ。ここで注意するのは自分のマシンのポートに入ってきたパケットを他のマシンのポートに素通りするってこと。同一のPCじゃなくてもいい。

穴あけなので、natにも穴をあけれる。そういう使い方は普通のネットワークでもよくやる。

ssh ポート転送

note

なんだこのnatのicon初めて見たんですけど。反射属性持ちですね・・・

http://ebisu.network-learning.net/Network/part3/chapter10/imgs/nat-base01.png

natネットワーク

ネットワーク----hostOS(1体)--natルーター---guestOS(n体)

telnet

これを見たらできた

www.tkd55.net

まずtelnetdとinetutils-inetdをインストール。/etc/hosts.allowにALL:ALL:allowを設定(危険なのはわかってるけど初心者なので許してそのうち変えるから)、sudoでinetutils-inetdを再起動。

そしたらホスト側でtelnet(自分は寺ターム使った)

このときポートフォアーディングの設定をしておくこと。もちろんネットワークの種類はnatで。 127.0.0.1,2333,23とかで。

ssh

telnetと同じようにやってるんだけどできない。

結局できなかった

辛い。死にたい

ポートフォアーディングとsshで接続する奴できた

できた。順番的(設定の複雑さ的)にはtelnet(port forwarding)->ssh(port forwarding)->telnet,ssh(bridge)でやるといいかも

というかこの順番でやれ。少なくとも自分は雑魚なのでこの順番でやれ。本当は通るのになんかの勘違いでできなくて5時間ぐらい無駄に消費するから。

まずvirtualbox側はnat接続にする。高度なネットワーク接続のタブ?を開いてポートフォアーディングする。やり方はググって。んでteratermからipアドレス127.0.0.1ssh(ポートフォアーディングしたポート)にアクセス。

sshは結構設定がいろいろ居るので注意。

winos側からkaliにsshでbridgeでアクセスする奴できた

意味不明。何もいじってないんですが。systemctlも再起動かけたんですが

どういう状態でできた?

記録を取っておくのは大事だよね。

一度パスワード入力等で失敗すると次接続するときに時間開けないと拒否されることがある。一分ぐらい待つこと。また、正しいパスワードを打っても接続するまでに時間がかかることがある。入力してok押してプロンプトが消えて30秒ぐらい画面が黒いままでも待つこと。

環境はwin10側はteraterm。ssh2で接続。ipはkali linuxのほうでifconfigする。

kali linux側はブリッジ接続。名前はmicrosoft bridge adapter。dhcpは自動設定。

linuxsshについて。

まずはポートが空いてるか確認する。 kaliにはnmapがdefaultでinstallしてあるので良さ。nmap 127.0.0.1で確認すること。

しかしnmapがなくても大丈夫!普通のnetstatだと何も出てこないけどnetstat -tulpnで確認できる。オプションとか確認してないのでどういう動きをしているのかは不明。

できない場合ここを見よう! mitsuakikawamorita.com

defaultだとパスワード接続ができず、鍵認証しかできないので(そういうのがめんどくさい人は)変えておくこと。/etc/ssh/sshd_configを変えることでパスワード接続ができるようになる。

あとなんかservice sshdとかも見たけどそもそもsshd無いとか言われた。

PS

なんか今見たら居たんだが・・・なぞ・・・

XXXXX@kali2:/home/XXXXX# systemctl list-unit-files | grep ssh
ssh.service                                enabled 
ssh@.service                               static  
sshd.service                               enabled 
ssh.socket                                 disabled

まあこいつらが生きてないとたぶん接続不可なんだろうな。

あとiptablesな。とりあえずtelnetssh全許可のがばがば設定にしてる。あとhosts.allowとかも必要かも?

kali側からcybozu側にアクセスするという本来の目的ができた。

どういう状態でできた?

記録を取っておくのは大事だよね。

win10ネットワーク接続可。

まずwin10側でブリッジを作った。ネットワークと共有センターが(ブリッジの名前)になっている。仮想スイッチのi/fにはvirtualbox host only adapterの仮想nicwifinicがつながっている。仮想スイッチの機能としては

hyper-v extensive switchmicrosoft multiplexor protocol以外全部有効かしてある。extensive switchを有効かするとほかの機能が死ぬのでこの状態じゃないと絶対ダメ(だと思う。

f:id:lv7777:20160805161412p:plain

ipv4dhcp自動取得。

ブリッジ接続。接続先は仮想スイッチ(microsoft network adapter multiplexor driver)

ネットワーク接続不可。

上に同じ。接続先をwifiにしたときネットワークに届かなくて起動できなかった。多分先にkaliがwifiアダプタ奪ってたんだと思う。

ネットワーク接続不可。

終わりに

なんかめっちゃ時間を消費したけど最終的に当初の目的を全部達成できたので良かった。ついでにsshトンネルも掘れたし(課題5-A)。

memo:昔hyper-vというかvm全般について詳細に解説記事を書いたと思うけどそいつがちょうどvirtualboxのところで挫折してたのでこの記事に参照させる。今なら続きかけるから。