開発中にLinuxシステムで「外部アクセスなし」をシミュレートできますか?

開発中にLinuxシステムで「外部アクセスなし」をシミュレートできますか?

場合によっては、外部インターネットにアクセスできないサーバーにアプリケーションをアップロードします。

自分のコンピュータに同じ環境を作成してアプリケーションの特定の機能をテストし、エラー(外部ソースからRSSを読み取るなど)を防止したいと思います。

私はシミュレーションのためにイーサネットケーブルを抜くかどうかを考えましたが、それは非常に古いようで、サーバーの制限に比べてこれを行うと(特にPythonで)同じ例外が発生するかどうかはわかりません。

それでは、開発コンピュータで「外部アクセスなし」をどのようにシミュレートしますか?イーサネットインターフェイスを「無効」にして後で再度有効にすると(「no Trouble」コマンドを使用)、外部アクセスを持たないサーバーと同じ動作をしますか?

Ubuntu 10.04を使用しています。ありがとうございます!

ベストアンサー1

デフォルトパスを削除すると問題が解決します。 show Routing Table を使用し/sbin/route、次を使用してデフォルト値を削除できます。

sudo /sbin/route del default

これにより、システムはローカルネットワークに接続できますが、ローカルネットワークに向かうパケットをどこに送信するのかわかりません。これはおそらく「外部アクセスなし」の状況を非常に正確にシミュレートします。

再挿入するかroute add(ゲートウェイが何であるかを覚えている)、ネットワークを再起動できます。私はNetManagerを持つシステムでこれを試してみましたが、デフォルトを切り替えると問題はありませんでした。ちょうどパネルアイコンをクリックし、ローカルネットワークを再選択して復元しました。 NMが他のイベントで単独でこのようなことをすることもできるので注意してください。

別の方法は、ルールを使用してiptablesアウトバウンドトラフィックをブロックすることです。しかし、ルーティングアプローチがより良いかもしれないと思います。

おすすめ記事