ブロックされたサーバーに接続する


1

URLにアクセスできない、雇われたサーバーがあります。自宅のコンピューターをSSHトンネルのブリッジとして使用して、サーバーからそのURLにアクセスできますか?サーバーには、コマンドラインアクセスしかありません。

一部のURLにアクセスできますが、これはホワイトリストにありません。これは私が得るものです。

wget https://jenkins-ci.org/debian/jenkins-ci.org.key
--2015-03-30 13:21:20--  https://jenkins-ci.org/debian/jenkins-ci.org.key
Resolving jenkins-ci.org... 199.193.196.24
Connecting to jenkins-ci.org|199.193.196.24|:443... failed: Connection timed out.
Retrying.

SSHトンネルなどを使用して、サーバーにキーファイルとパッケージをダウンロードしたい。


2
「URLをブロックする」とはどういう意味ですか?
DavidPostill

@DavidPostill私はそれがブラックリストに載っていることを意味します。
エリオ

@DavidPostill:ルールに合うように質問を書き直しました...私は何か間違っていましたか?
ヘリオ

URLがブロックされていない無料のVPNサービスを使用して、この方法でブロックをバイパスしてサーバーに接続できます。「無料vpn」を検索してください。その場合、自宅のPCを経由する必要はありません。
harrymc

@harrymc:コマンドラインからどのように設定しますか?あなたがそれを提案したので、私はあなたに尋ねます、しかし、答える義務を感じません。
ヘリオ

回答:


2

後のコメントの1つに基づいて質問を言い換えるには、次のようにします。

トンネルとして開いているポートのないパーソナルコンピューターを使用して、そのURLにアクセスできないサーバーから[website]にアクセスする-Helio

一見、あなたが求めていることは不可能に思えます。よく調べると、必要なのは高度なネットワーキングブードゥーです。具体的には:

  • パーソナルコンピューターで実行されているVPNサーバー(herpyderpと呼びましょう)
  • リモートサーバー上で実行されているSSHサーバー(それを呼び出します...メガトロン。なぜですか?)
  • megatron上のVPNクライアント。

VPNサーバーをセットアップする

VPNサーバーをセットアップするプロセスは...非常に複雑で、この回答の範囲をはるかに超えています。最後にいくつかのリソースリンクを配置します。

とにかく、リッスン127.0.0.1するように設定し、デフォルトルートのプッシュを無効にします。(また、tcpを使用するように設定する必要があるかもしれません。これでudpがどのように反応するかわかりません...奇妙な状況です。)

SSH経由でポートを転送する

簡単にするために、herpyderpにOpenVPNサーバーが正しくセットアップされ、リッスンしていると仮定します127.0.0.1:1194。megatronに接続し、適切なポートをherpyderpに転送します(オンlocalhost):

ssh -R 8088:localhost:1194 awesomeuser@megatron

VPNを接続する

繰り返しますが、簡単にするために、OpenVPNクライアントのconfigファイルがあるとしますmegatron。デフォルトルートを設定せ、アドレスのサーバーに接続するように構成されていることを確認してください127.0.0.1:8088

megatron8088で既にリッスンしているものがある場合は、別のポート番号を使用する必要があることに注意してください。

ルートを追加

最後に、ip route addコマンドを使用して、VPN経由でブロックされたIPに要求をルーティングする必要があります。ifconfigVPNアダプターのIPアドレスとその宛先アドレスを取得するために使用します。pingまたはnslookupを使用して、問題のサイトのIPアドレスを取得します。次に、この情報を使用して、ルートを追加します。

ip route add <SITE_IP_ADDR> via <VPN_DEST_ADDR> dev <VPN_ADAPTER>

すべてが行けばちょうど、あなたはブロックされたIPからアクセスすることができるはずmegatron経由herpyderpのインターネット接続。

しかし...

そうは言っても、これまでのところ答えになったネットワーク管理者は、泣くかショックを受けていると確信しています。何もありません...正しい...このセットアップでは。私はそれを示唆することでさえ罪を犯したかのように感じます。

また、大きなスループットは期待していません。そして、まさに...天文学的な待ち時間。

最終免責事項:これが実際に機能するかどうかはわかりません。当然ですが、このセットアップに関連する膨大な作業のため、実際にはテストしていません。間違っている可能性のあるものは約百万あります。幸運を祈ります。

資源

編集:注意の言葉

これには、サーバーがネットワーク上で完全に到達不能になる可能性が絶対にあります。ip特にコマンド; 間違ったルートはすべてのネットワークアクティビティをブロックする可能性があります。


1

ホームマシンから次を実行します。

curl https://jenkins-ci.org/debian/jenkins-ci.org.key|ssh <username>@<ssh server> 'cat > jenkins-ci.org.key'

<username>@<ssh server>適切なssh情報に置き換えます。

Example: curl https://jenkins-ci.org/debian/jenkins-ci.org.key|ssh bob@myserver.com 'cat > jenkins-ci.org.key'

これにより、ユーザーのホームディレクトリにファイルが配置されます。これを変更するか、コピーしてから移動することができます。

これは、ホームマシンがLinuxを使用していることを前提としています。そうでない場合は、安価で無料のクラウドLinuxマシンを使用して同じことを行うことができます(例:c9.io)。


1

SSHトンネルの使用を試みることができます:

ssh -f user@yourserver -L 2000:jenkins-ci.org:443 -N

次に、必要localhost:2000なものを照会できます。

wget https://localhost:2000/debian/jenkins-ci.org.key

ドメインの問題が発生した場合は、追加するだけです:

127.0.0.1 jenkins-ci.org

/etc/hostsファイルと実行:

wget https://jenkins-ci.org:2000/debian/jenkins-ci.org.key

これは少し「ハック」ですが、それがあなたが探しているものだと思います。


コマンドはどこで実行しますか?サーバーで?
ヘリオ

ローカルマシンですべてのコマンドを実行します。「yourserver」ホストはブラックリストに載っていないホストです。
-gbuzogany

逆にすることはできますか?黒化されていないマシンでコマンドを実行しますか?
ヘリオ

マシンがブラックリストに登録されていない場合、次を実行できます:wget jenkins-ci.org/debian/jenkins-ci.org.key straight?
-gbuzogany

1
@Helio「開いているポートはありません」と言いますが、これは誰かがこのポートに接続できないようにするためですか?これをファイアウォールして、localhostのみがポートにアクセスできるようにすることができます。それ以外は、VPNは、あなたの唯一の選択肢であり、はるかに難しいものです。IPはブロックされているため、何らかの方法で別のサーバーにIPトラフィック(SOCKS、HTTPプロキシ、VPNなど)を中継させる必要があります。SOCKSは断然最も簡単なオプションです。または、そのIPへのトラフィックを許可するサーバーを管理者に依頼する方が簡単な場合があります。
ゴブリンロード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.