Posts

Showing posts from 2021

社外からSOCKS5プロキシ経由でRemoteDesktop接続

SOCKS5トンネル掘り  hirakegoma.sh #!/bin/bash while true; do echo "Connecting gw.example.com:22 ... " ssh -4ND 18888 gw.example.com -p 22 sleep 1 echo retrying done xfreerdpのラッパースクリプト 社内(≈名前解決可能)なら直接、そうでないならSOCKS5プロキシ経由でRDP接続する。 rdp.sh #!/bin/bash case "$1" in host1) user=user1 host=host1.inside.example.com ;; host2) user=user2 host=host2.inside.example.com ;; *) echo Usage $1 host_nick_name exit esac if host $host ; then echo Connecting $user@$host xfreerdp /u:$user /size:1400x900 /v:$host else echo Connecting $user@$host via SOCKS proxy xfreerdp /u:$user /size:1400x900 /v:$host /proxy:socks5://localhost:18888 fi

SSH踏み台サーバを経由して社内サーバにアクセスする

最近のリモートワークの状況下で自宅から職場のサーバにアクセスしなければならないことも多いと思います。 VPNを使ったり、OAuth付きのproxyサーバを立てたり、いろいろとやり方があると思います。今回はSSHの踏み台サーバ経由で職場内のWEBサーバにアクセスする方法について、やり方を記録して置こうと思います。 昔から、1. SSHのダイナミックフォワードでトンネルを掘る、2. ブラウザにproxy.pacを読ませて特定の(社内サーバ)URLのみにそのトンネルを使わせる、といった方法は利用していましたが、あるバージョンを境にChromeでproxy.pacファイルを読まなくなってしまい、放置していました。 今回改めてやり方を調べてみたというのが背景です。 トンネル掘り トンネルにはSSHのダイナミックフォワードを使います。例えば以下のような感じ。 hirakegoma.sh #!/bin/bash while true; do echo "Connecting gw.example.com:22 ... " ssh -4ND 18888 gw.example.com -p 22 sleep 1 echo retrying done 職場内のサーバ、xxx.inside.example.comへのアクセスを上で作ったトンネルを経由させるには、例えば以下のようにすれば良い。 proxy.pac function FindProxyForURL(url, host) { if (dnsDomainIs(host, ".inside.example.com")) if (isResolvable(host)) return "DIRECT"; else return "SOCKS5 localhost:18888"; else return "DIRECT"; } 会社内ではサーバ名前解決ができるであろうから、名前ができないときのみトンネルを通すようになっている。 Chrome起動オプション Chromeでproxy.pa

Debian Linuxのノートパソコンでハイバネート

  Linuxカーネルには、スワップ領域にメモリの内容を書き出してハイバネートする機能がある。 必要な要件等は以下の通り。 十分な大きさのスワップデバイスまたはファイルを用意する。(メモリ容量と同じくらいあれば良いが、そこまでなくても良いという情報もある。) カーネル起動オプションresume=デバイス名を加えカーネルを起動。 uswsuspを利用することもできるが、利用しなくても良い。その場合initrdをいじる必要は無い。 参考文献 https://wiki.archlinux.jp/index.php/サスペンドとハイバネート https://www.kernel.org/doc/Documentation/power/states.txt https://www.kernel.org/doc/html/latest/power/basic-pm-debugging.html 以下、実際の設定 /etc/fstab (該当部分のみ) #/dev/nvme0n1p7 swap swap defaults 0 0 /swapfile swap swap defaults 0 0 デバイスをスワップとして使う場合と、ファイル(/swapfile)をスワップとして使う場合とで必要なカーネルパラメータが異なる。 後者の場合はresume_offsetも必要。オフセット値は以下のように確認可能。この場合86093824がオフセット値。 sudo filefrag -v /swapfile Filesystem type is: ef53 File size of /swapfile is 17179869184 (4194304 blocks of 4096 bytes) ext: logical_offset: physical_offset: length: expected: flags: 0: 0.. 2047: 86093824.. 86095871: 2048: 1: 2048.. 4095: 86167552.. 86169599: 2048: 86095872: 2: 4096.. 8191: 8

Dynabook GZ83/MLにDebian Linuxをのせて使ってます。

Image
先日購入したノートパソコンのご紹介です。 ちまたではM1 Macbook Air/Proの評判が高いようですが、920gの12インチMacbookが出なかったことに落胆し、軽量なノートパソコンを購入してしまいました。 M1 Macの性能がものすごく高いようなので、失敗したかなと思いつつも、でもAirといっても1.3kgもあったら持って歩けないよなぁとか、やっぱり悩みつつもLinuxを日頃から触るのは楽しいよなぁとか、自分に言い聞かせながら悶々とした日々を過ごしております。 Macbook Airとても良いんですけどね、重くなければ。 そして購入したノートパソコンがこれ。Dynabook GZ83/ML。 https://dynabook.com/direct/pc/catalog/2020-spring/gz83m/spec.html 洒落っ気も何も無いですけど、とにかく軽くて、そこそこ良いCPU積んでるんです。 仕様は このページ にあるとおりですが、特に気に入ってる点は、 6コアCore i7 CPU、16GBメモリ、512GB NVMe SSD、859gという軽さなどです。 あと1GNICやHDMIのコネクタが最初からついていたり、USB Type-C PDで充電できたりするのも、とても便利です。 OSはもちろん、Debian Linuxにしてるんですけど、今回はWindowsもデュアルブートできるようにしてあります。 会計ソフトやNovaのお茶の間留学のソフトなんかが、Windowsじゃないと動かないので、仕方なく残している感じです。 デュアルブートも昔からありますが、最近のノートパソコンはBiosがUEFI化されていて、ちょっと昔とは勝手が違っていたりしました。 その辺りも、追々ブログにまとめられたらと思います。

Debian LinuxのノートパソコンでドトールWiFiにつなぐ

ドトール、エクセルシオールカフェには無料のWiFiサービスがある。Linuxで接続するのにちょっと手間取ったので、やり方をメモしておく。 設定ファイルを作成。 /etc/network/interfaces.d/doutor iface dt inet dhcp wpa-ssid "DOUTOR_FREE_Wi-Fi" wpa-key-mgmt NONE インターフェースをアップするとDHCP経由でアドレスの取得ができる。 ktaka@dyna:~$ sudo ifup wlan0=dt Internet Systems Consortium DHCP Client 4.4.1 Copyright 2004-2018 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/wlan0/3c:9c:0f:8d:c8:4a Sending on LPF/wlan0/3c:9c:0f:8d:c8:4a Sending on Socket/fallback DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14 DHCPOFFER of 10.68.161.211 from 10.68.128.2 DHCPREQUEST for 10.68.161.211 on wlan0 to 255.255.255.255 port 67 DHCPACK of 10.68.161.211 from 10.68.128.2 bound to 10.68.161.211 -- renewal in 138 seconds. このあとブラウザで任意のページを閲覧しようとするとWEBの認証ページが表示されるので、承諾すればネットワークが使用可能になる。