

CentOS7のサーバー構築をしています。  
IPアドレスを固定にするため、イーサネットの設定を変更し、現状`ip addr`するとこんな感じです。(一部伏せます)

[code]

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: enp8s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP     qlen 1000
    link/ether 00:--:--:--:--:-- brd ff:ff:ff:ff:ff:ff
    inet ”設定したIP”/32 brd ”設定したIP” scope global 接続名
    valid_lft forever preferred_lft forever
    inet6 ----::---:----:----:----/64 scope link
    valid_lft forever preferred_lft forever
    
[/code]

これで、sshd_configで一時的にPasswordAuthenticationをyesにし、

[code]

    firewall-cmd --add-port=22/tcp --zone=public --permanent
    
[/code]

を実行し、

[code]

    firewall-cmd --reload
    systemctl restart NetworkManager
    systemctl restart network
    systemctl restart sshd
    
[/code]

して、外部からsshしてみると、Connection timed outします。

ポートは開いています。

[code]

    [----@---- ~]$ ss -tln
    State      Recv-Q Send-Q        Local Address:Port          Peer          Address:Port
    LISTEN     0      128                       *:22                       *:*
    LISTEN     0      100               127.0.0.1:25                       *:*
    LISTEN     0      128                      :::22                      :::*
    LISTEN     0      100                     ::1:25                      :::*
    
[/code]

サーバーと同じLAN内からアクセスすると、普通に接続できます。  
ということはこれはローカルアドレスなんですか？

外部からもsshで接続したいのですが、いまいちどうすればいいかわかりません。

知識不足ですみませんがよろしくお願いします。


CC BY-SA 3.0
2015-04-10T12:39:32.310
9015
2015-04-11T17:14:29.977
2015-04-11T06:55:10.667
49
8396
question
centos network
CentOS7 ネットワーク設定について


IPv6 はわからないので（すみません）IPv4 という前提です。

> サーバーと同じLAN内からアクセスすると、普通に接続できます。

ということですのでプライベートIPを割り当てているのだと思いますが  
（ちなみにプライベートIPの場合、隠してもあまり意味はありません）、

・外部（インターネット側？）からは、どうやって（どこに）アクセスしていますか？  
・外部とサーバの間にファイアーウォールはありますか？  
・ある場合、ファイアーウォールで ssh を許可していますか？

【追加】  
[<http://www.atmarkit.co.jp/aig/06network/privateip.html]>  
ここに該当するアドレスが振られていれば、「プライベートアドレス」です。

> centOS7のfirewalldが動いています。  
>  ただ、22番ポートは通るようになっています。

ここで言うファイアーウォール(F/W)は、そのサーバホスト上の  
仕組みではなく、ネットワーク上の物理的な機器です。

もう少し構成状況を正確に記載されたほうがいいと思います。  
例えば私の自宅から（どこかの）企業の中にあるサーバに ssh で  
入りたい場合は、おおむね以下の様な構成になるはずです。

[自宅PC]--[自宅の無線ルータ]--[企業のF/W]--[対象サーバ]

[対象サーバ]にプライベートアドレスが割り当てられている場合、  
自宅内からはそのアドレス空間は見えませんので、何らかのグローバルIP  
が必要です。VPSの場合はグローバルIPが割り当てられますので、  
ssh ユーザ名@グローバルIP  
で接続が可能です。

> だとすると、グローバルアドレスの設定はできるのでしょうか？  
>  静的NATとかする形になるんでしょうか？

もし上記の構成例に近いのであれば、[企業のF/W]で[対象サーバ]に  
対応するグローバルIPを割り当て、[企業のF/W]の設定で静的NATを  
行なうことが考えられます。この方式で実現する場合は、[対象サーバ]  
の設定はそのままでOKです。


CC BY-SA 3.0
2015-04-10T15:26:32.590
9023
2015-04-10T23:31:40.877
2015-04-10T23:31:40.877
1046
1046
9015
answer


プライベートアドレスで運用しているサーバにインターネット越しにsshしたいということだと思います。やり方はお使いのネットワーク構成によっていろいろ方法がありえる、が正解となります。

例えばサーバが自宅やオフィスにあり、ブロードバンドルータでインターネットに接続しているとします。ブロードバンドルータはWAN側(インターネット側)にグローバルIP、LAN側にプライベートIPが付いており、サーバもそのLAN側にあるとします。このとき、ブロードバンドルータにあるポート転送の機能を使うことで、グローバルIPの22番(SSH)に接続してきたパケットをLAN側のサーバの22番に転送する、ということが可能です。(私の知る限りよほど変なルータでない限りはこの機能が付いてます)。

これを実現するためには、WAN側のアドレスを知る必要があります。ルータの管理画面のどこかに表示されているはずですので、調べてみてください。ポート転送機能もルータの管理画面から設定しますが、製品によっては「ゲームサーバ機能」「ポートフォワード機能」など呼び方は様々ですので、まずは管理画面を見てみてください。

あと、まれにプロバイダによってはWAN側がプライベートIPになっている場合があります。この場合は外部からのポート転送はできませんのでご注意ください。


CC BY-SA 3.0
2015-04-11T17:14:29.977
9056
2015-04-11T17:14:29.977
9277
9015
answer