私はこの質問から来ています: https://superuser.com/questions/359799/how-to-make-freebsd-box-accessible-from-internet
port forwarding
のこのプロセス全体を理解したいと思います。
私はたくさんのことを読みましたが、ポート転送自体の非常に基本的な概念を理解できていません。
私が持っているもの:
私の家に座っているfreebsdサーバー。
netgearルーター
これは私が達成しようとしていることです:
インターネット経由でWindowsマシンからfreebsdサーバーにアクセスし、Webブラウザーを開いてインターネットにアクセスできるようにします。
私も持っているUbuntuマシンからこのfreebsdボックスにアクセスしたいと思います。
誰かが私を助けてくれるならそれは素晴らしいことです。
これが、ポート転送のために行ったnetgearルーターのセットアップです。
A
-FreeBSDボックス、B
-ルーター、C
-インターネットにアクセスできるマシン。これは次のようになります。
.-----. .-----. .-----.
| A | == | B | - - ( Internet ) - - | C |
'-----' '-----' '-----'
\_________ ________/
v
`- this is your LAN
ルーターがどのように動作するかに注意してください通常:接続を許可しますfrom LAN上のマシンtoインターネット(簡単に言えば)。したがって、A
(またはLAN上の他のマシン)がインターネットにアクセスしたい場合は、許可されます(ここでも、基本的な理解と構成について話しているだけです)。
.-----. .-----. .-----.
| A | == | B | - - ( Internet ) - - | C |
'-----' '-----' '-----'
`-->----' `--->--->---^
そして、以下はnotがデフォルトで許可されています:
.-----. .-----. .-----.
| A | == | B | - - ( Internet ) - - | C |
'-----' '-----' '-----'
`--<----' `---<--- - - - - --<---<-----'
(つまり、ルーターprotects LAN上のマシンがインターネットからアクセスされないようにします。)ルーターはLANの中で見られる唯一の部分であることに注意してくださいfromインターネット1)。
3番目のスキーマの実行を可能にするのはポート転送です。これは、ルーターにwhatC
からの接続を伝えることで構成されます。2) LAN上のwhichマシンに移動する必要があります。これはポート番号に基づいて行われます。これがポート転送と呼ばれる理由です。インターネットから特定のポートに着信するすべての接続がLAN上の特定のマシンに行くようにルーターに指示することにより、それを構成します。マシンA
に転送されたポート22の例を次に示します。
.------. .-------. .-----.
| A | == | B | - - ( Internet ) - - | C |
| | | | '-----'
'-|22|-' ',--|22|' |
`--<-22---' `---<---- - - - - - --<-22---'
このようなインターネット経由の接続は、IPアドレスに基づいて行われます。したがって、上記の例のもう少し正確な表現は次のようになります。
.------. .-------. .-----.
| A | == | B | - - - - - ( Internet ) - - - - | C |
| | | | '-----'
'-|22|-' ',--|22|' |
`--<-A:22--' `--<-YourIP:22 - - - - --<-YourIP:22--'
静的 IPを使用したインターネット接続がない場合は、ISPによってルーターに現在割り当てられているIPを何らかの方法で把握する必要があります。そうしないと、C
は、ルーター(さらにA
)にアクセスするために接続する必要があるIPを認識しません。これを簡単に解決するには、動的DNSというサービスを使用できます。これにより、ルーターは定期的に特別なDNSサーバーに情報を送信し、IPを追跡してドメイン名を提供します。無料のダイナミックDNSプロバイダーはかなりたくさんあります。多くのルーターには、簡単に接続できる構成オプションが付属しています。
1) これもまた、単純化です。インターネットから見た実際のデバイスはモデムです。これは、ルーターと統合することができますが、別のボックスにすることもできます。
2) またはインターネットに接続できる他のマシン。
単にsshがインターネットからマシンにアクセスできるようにすることは悪い考えです。 crackersによって設定された数千のボットがあり、SSHポートが開いているマシンをインターネットで検索します。彼らは通常、できるだけ多くのIPのデフォルトSSHポートを「ノック」し、どこかで実行されているSSHデーモンを見つけたら、マシンへのbruteforceアクセスを取得しようとします。これは潜在的な侵入のリスクだけでなく、マシンがブルートフォースされている間にネットワークが遅くなるリスクもあります。
本当にそのようなアクセスが必要な場合は、少なくとも
すべてのユーザーアカウントにstrongパスワードがあることを確認します。
sSH経由のrootアクセスを禁止します(通常のユーザーとしてログインすれば、いつでもsu
またはSudo
としてログインできます)。
sSHサーバーが実行されるデフォルトのポートを変更します。
多数のSSHログイン試行を拒否するメカニズムを導入します(後続の試行の待機時間が増えます-これが正確にどのように呼び出されたかを覚えていません-少し前にFreeBSDで有効にしていたので、とても簡単だったと思います-試してくださいSSHのセキュリティ保護についてFreeBSDフォーラムなどを検索すると、見つけることができます。)
可能であれば、近い将来マシンにアクセスすることがわかっている場合にのみsshデーモンを実行して、後でそれをオフにしてください。
システムログを確認することに慣れます。不審なことに気づき始めたら、IPテーブルやポートノッキングなどのセキュリティメカニズムを追加してください。
これを行うにはいくつかの方法があります。最も簡単な方法は、DMZと呼ばれるものを設定することです。ただし、より安全な方法は、ルーターでポート22にサーバーのIPへの静的ルートを設定することです。
リソース: