【Linux】socatコマンドで簡易プロキシサーバ/ポート転送
POSTED BY
2022-10-12
2022-10-12


自分のサーバーの任意のポートへの接続を待ち受けて、そのまま別サーバーの別ポートへ転送する=ポートフォワード=にはstoneというソフトが定番?であったがもう古いもので、最新のOpenSSLライブラリではコンパイルできなくなってしまった(当方環境では)ので困っていたが現在ではsocatというコマンドで代用するらしいのでメモ。
インストール
apt install socat
実行例
ローカルの8443ポートをexample1155.jpの443ポート(https)に転送する
socat TCP4-LISTEN:8443,fork TCP4:example1155.jp:443
バックグランドで実行するには&をつける
socat TCP4-LISTEN:8443,fork TCP4:example1155.jp:443 &
このローカルマシンのIPが192.168.1.55であるとすると、ブラウザで
https://192.168.1.55:8443/
と叩くアクセスは、証明書エラーを無視すれば、https://example1155.jp/にアクセスした内容が返る。
AWSのようなクラウドサービスで仮想マシンから外へ出ていく場合デフォルトゲートのIPから出ていくが、何らかの事情によりこのIPが外からNG扱いされた場合、緊急でグローバルIPを持つマシンを立ててそこでsocatを上記のようにポートフォワード用途で立てて、仮想マシンはそれを使って外のデータを取るようにする応急措置に使ったりする。
人生の『記念日』を彩る夢のあるスイーツ【アニバーサリーオンラインショップ】

▼ブランドコンセプト
「ひと目で、ときめく。ひと口で、とりこに。」
テーブルを彩る生菓子から、英国の伝...【READ MORE】
品質と手頃な価格、洗練されたデザインで日常に取り入れやすいCBDブランド【Leep】

roun(ラウン)は「自然の力で心と体を整える」をコンセプトに
国産CBDプロダクトを提供するウェルネスブラ...【READ MORE】
Android
iPhone/iPad
Flutter
MacOS
Windows
Debian
Ubuntu
CentOS
FreeBSD
RaspberryPI
C/C++
PHP
Java
JavaScript
Node.js
Swift
Python
Amazon/AWS
CORESERVER
Google
仮想通貨
LINE
IBM Watson
Microsoft Azure
Xcode
VMware
MySQL
PostgreSQL
Redis
Groonga
Git/GitHub
Apache
nginx
Postfix
SendGrid
Hackintosh
Hardware
Fate/Grand Order
ウマ娘
将棋
※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
※本記事内容の無断転載を禁じます。
【キーワード検索】
OTCビタミンC主薬製剤としてL-システインを最大量配合

ドクターズコスメ[MUNOAGE]本商品
写真入りデザイナーズ年賀状【年賀家族2022】
日本のクラフトマンシップが培ってきた革製品ブランド キプリス
契約期間なし!!月額3300円のポケットWi-Fi
一人暮らし向けおしゃれインテリア家具通販サイト【6JOHAN】
公営競技くじ・オートレース投票サイト【オッズパークLOTO・オートレース】会員募集
つけたまま眠れて石鹸で落ちる【VINTORTE シルクパウダーミネラルファンデーション】
補聴器とは違う、全く新しい会話サポートイヤホン「Olive Smart Ear Plus(オリーブスマートイヤープラス)」
いつも使っているお店やサービスでモニター体験が可能です★【ECナビ】

ドクターズコスメ[MUNOAGE]本商品

写真入りデザイナーズ年賀状【年賀家族2022】

日本のクラフトマンシップが培ってきた革製品ブランド キプリス

契約期間なし!!月額3300円のポケットWi-Fi

一人暮らし向けおしゃれインテリア家具通販サイト【6JOHAN】

公営競技くじ・オートレース投票サイト【オッズパークLOTO・オートレース】会員募集

つけたまま眠れて石鹸で落ちる【VINTORTE シルクパウダーミネラルファンデーション】

補聴器とは違う、全く新しい会話サポートイヤホン「Olive Smart Ear Plus(オリーブスマートイヤープラス)」

いつも使っているお店やサービスでモニター体験が可能です★【ECナビ】

【最近の記事】【全部の記事】
最新版のApache2でCGIが実行できずソースやバイナリが表示される場合bitcoinjs-lib、bip32、bip39を使ってビットコインアドレスを生成する
Cannot read property makeRandom of undefinedと言われた場合
web3.jsとwindow.ethereumでコントラクト関数を引数つきでコールしプロパティを取得する
JavaScriptで外部URLのファイルをダウンロードしてデータを取得する
【MetaMask】window.ethereumのeth_callで任意のコントラクト関数を呼ぶ
window.ethereum.requestに渡すdataフィールドをABIエンコードで作成する
【Solidity】Remix IDEを使用してサーバー不要のコントラクト開発&デバッグ【Ethereum】
【Windows】Googleフォトからダウンロードした動画が音声のみで映像が再生されない場合
PostgreSQLをソースコードからインストールしてsystemdのサービスとして動かす
【人気の記事】【全部の記事】
進研ゼミチャレンジタッチをAndroid端末化する5chブラウザJane Styleの板一覧にゲーム板等が表示されない場合
Windows版Google Driveが使用中と言われアンインストールできない場合
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Googleスプレッドシートを編集したら自動で更新日時を入れる
【Javascript】JSON配列内にある特定要素の取得法【Node.js】
Ubuntuで固定IPアドレスを使う設定をする
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
【Hackintosh】組立PCにWindowsとmacOSを同居させる場合の注意点
Google ColaboratoryのTensorFlowバージョンを変更する(1.X←→2.X)
【カテゴリーリンク】
Android
iPhone/iPad
Flutter
MacOS
Windows
Debian
Ubuntu
CentOS
FreeBSD
RaspberryPI
C/C++
PHP
Java
JavaScript
Node.js
Swift
Python
Amazon/AWS
CORESERVER
Google
仮想通貨
LINE
IBM Watson
Microsoft Azure
Xcode
VMware
MySQL
PostgreSQL
Redis
Groonga
Git/GitHub
Apache
nginx
Postfix
SendGrid
Hackintosh
Hardware
Fate/Grand Order
ウマ娘
将棋