pusuke0418’s diary

すごく暇なSEのぶろぐ

SSHポートフォワーディング(トンネリング)のコネクション

sshポートフォワーディング(トンネリング)は、おおまかにはsshサーバを踏み台にして、そこへのssh接続を文字通り"トンネル"のように使って、別の宛先に別のプロトコルを通す。使い方は調べるとたくさん出てくる。

例えば、下記のようにしたとする。
$ ssh username@192.168.1.11 -L 3456:192.168.1.11:80
3456は、クライアントにできるトンネルの入り口になるポート番号
クライアントからは、192.168.1.11 のsshサーバへsshでつながる
192.168.1.11:80はトンネルから出た先の最終的な接続先
※上記はsshサーバと最終的な接続先が同じホスト上

例えばクライアントが192.168.1.10だとして、上記のコマンドでsshトンネルを作ったのちに、クライアントから "127.0.0.1:3456" に接続した場合のコネクションは下記のようになる。
この場合だと、192.168.1.11でウェブサーバが動いていて、192.168.1.10でブラウザを立ち上げ、アドレスバーへ http://127.0.0.1:3456 とするイメージ。
[127.0.0.1:63611(ランダムポート)]---<コネクション>---[クライアント トンネル入口 127.0.0.1:3456]
[ssh クライアント 192.168.1.10:63588(ランダムポート)]---<コネクション>---[sshサーバ 192.168.1.11:22]
[sshサーバ トンネル出口 192.168.1.11:49999(ランダムポート)]---<コネクション>---[80番で待ってるサーバ 192.168.1.11:80]

実際の動作切り分けやログを考慮する際に。

葛湯が白く濁った状態で, しゃびしゃびしていて, 透明のとろとろにならない時

そういうときは透明感とろとろになるまで、レンジで10秒ずつくらいチンすれば良い。

粉で売っている葛湯を作る際に、白く濁ったままで、葛湯らしい透明感のあるとろとろにならないケースがある。これは温度的なものによるもの。
例えば、葛湯をつくる際に、粉を器にあけて、150mlと書いてあるので、湯沸かし器から計量カップにお湯をうつして粉にかける・・・といった場合なりやすい。

ASAでNAT。変換後IPにインタフェースに無いIPを利用する

調べて出てくる情報は、たいていASAのインタフェースもしくはそれが含まれるサブネットへの変換が多いので、ネットワーク上でどのインタフェースにも振られていないIPを利用してNATするメモ。

本来のIPアドレスを隠蔽する目的であったり、比較的自由なNAT用IP空間の利用であったり、と、ケースとしては他の組織と接続する際などに利用される。それが作法である場合もある。

f:id:pusuke0418:20190105130936j:plain
nat2

実ホスト192.168.1.101:8080に対して、外部見立ての172.16.1.101は10.168.1.101:80を宛先としてアクセスする。R1は、10.168.1.101へ通信できる経路情報をネクストホップを10.0.2.2として持つ

以下、ASAの設定の必要部分を抜粋する。補足/蛇足だが、static natは設定すると、NATルールが双方向に有効になる。ここでは内→外(dmz,outside)で設定するが、外→内(outside,dmz)で設定することもできる。勿論その際sourceやdestinationは異なってくる。参考
https://community.cisco.com/t5/セキュリティ-ドキュメント/asa-natルールタイプ別の処理の違いと-設定例/ta-p/3158769#toc-hId--1211329983

以下設定
interface GigabitEthernet0
nameif dmz
security-level 50
ip address 192.168.1.254 255.255.255.0
!
interface GigabitEthernet1
nameif outside
security-level 0
ip address 10.0.2.2 255.255.255.252
!
object network ip-192.168.1.101
host 192.168.1.101
object network ip-10.168.1.101
host 10.168.1.101
object network ip-172.16.1.101
host 172.16.1.101
object service src-tcp-8080
service tcp source eq 8080
object service src-tcp-80
service tcp source eq www
access-list hoge extended permit tcp object ip-172.16.1.101 object ip-192.168.1.101 eq 8080
!
nat (dmz,outside) source static ip-192.168.1.101 ip-10.168.1.101 destination static ip-172.16.1.101 ip-172.16.1.101 service src-tcp-8080 src-tcp-80
access-group hoge in interface outside
route outside 0.0.0.0 0.0.0.0 10.0.2.1 1