記事一覧

    F5 BIG-IP Pool, Virtual Serverの設定方法とバックアップとsync方法

    F5 networks BIG-IP pool, virtual serverの設定方法とバックアップとsync方法をご説明致します。
    本人も忘れかけているので備忘録として書き留めておきます(^^♪

    PoolとVirtual Serverの設定の前にpool memberの設定が完了していなければなりません。

    1. poolの設定

    Configuration → ”Basic” を選択
    Name:入力
    Health Monitors:hc_tcp を選択 ※どのport番号でもhc_tcpを選択

    Resources
    Load Balancing Methhod: “Round Robin” を選択 ※リクエストに応じて変更
    Priority Group Activation: “Disabled” を選択(default)
    Node Name:poolメンバーのIPアドレスにルートドメインの%xを付加する。
    Address:poolメンバーのIPアドレスにルートドメインの%xを付加する。
    Service port:サービスポートを入力
    ※上記以外の設定は基本的にdefautのまま
    ※ルートドメインの%xを付加とは、0.0.0.0%5 など

     

    2. Virtual Serverの設定

    General Properties
    Name:poolメンバーの名前の前にvs_などを付けると分かりやすい
    Type: Perfornamce(Layer 4) を選択
    Source Address:0.0.0.0%x ルートドメインはpoolと合わせる
    Destination Address/Mask:VIPにルートドメイン%x を付けて設定
    Source Address Translation:Automap
    ※automapに設定するとBIG IPのインターフェイスのIPアドレス(self IP)になる。

    Resources
    Default Pool:事前に設定したpoolを選択する。
    ※上記以外の設定は基本的にdefautのまま

     

    [事前のバックアップ方法]
    1. systemメニューから Archivesメニューへ行き、”create”ボタンを押して、バックアップファイル名を入力したら”finished”をクリック。
    2. “save”されたことを確認、最初の画面に戻り入力した名前のファイルが出来ていればバックアップは完了。
    ちなみに、そのファイルをクリックすればダウンロードもできる。
    https://www.infraeye.com/study/bigip3.html を参考にして下さい。

     

    [Sync方法]
    Device Management → Overview の画面へ遷移する。
    1. Deviceにある”Recent Change” の “(self)”となった号機にチェックをする。
    2. “Sync Options” の Sync device to Group チェック
    3. “Syncing”の文字と絵が出れば実行中
    4. “in Sync All device are in sync There are no changes pending” とメッセージが表示されれば完了。
    https://www.infraeye.com/study/bigip15.html にある⑨と⑩を参考にして下さい。

    cisco双方向NATの設定と陥りやすい間違いを詳しく解説

    今回は双方向NATについてご紹介をさせて頂きます。

    その前にNATについて簡単に説明をさせて頂きますと、NATとは、Network Address Translationの略でIPアドレスを変換する技術です。

    一般的には、プライベートIPアドレスをグローバルIPアドレスに変換する技術とされています。多くの企業様では社内ではプライベートアドレスを使用していて、インターネットに接続する際はグローバルIPアドレスに変換して通信ができるようになっています。

    NATにもソースNAT、ディスチネーションNATがあります。それぞれ送信元アドレスの変換、宛先アドレスの変換を行うことを意味しています。

    今回ご紹介する双方向NATとは、1台のNAT機能を持ったデバイスで内部の送信元アドレス、および外部の送信元アドレスを同時にNAT変換を行うことを言います。

    例えば、ご覧のネットワークがある場合
    insideの送信元を、192.168.4.1 から192.168.2.3へ
    また、 outsideの送信元を192.168.3.1 から 192.168.1.3 へとIPアドレスを変換します。

    cisco双方向NATの設定と陥りやすい間違いを詳しく解説

     

    この双方向NATのメリットは、
     内部ホストと外部ホストの両方が相手のネットワークを意識する必要が無い。
     内部ホストと外部ホストともにデフォルトゲートウェイの設定をしなくても通信ができる
     お互いの実IPアドレスを知らなくても通信可能な双方向NATです。

    などのメリットがあります。

    では、実際に設定をしてみましょう。

    cisco双方向NATの設定と陥りやすい間違いを詳しく解説

    要件はこのとおりで、
    ・大阪RT、名古屋RTともにお互い相手のnetworkを知らない。
    ・大阪RTは東京RTの192.168.1.3しか知らない。
    ・名古屋RTも東京RTの192.168.2.3しか知らない。

    前回、第26回で無料のciscoシミュレーションソフトである「パケットトレーサー」をご紹介させて頂きました。
    今回は実際にそのパケットトレーサーを使用しながら設定したいと思います。

    まず、最初に大阪RTの設定ですが、このようにとてもシンプルです。
    見てお分かりのように名古屋RTへのルーティング192.168.3.0/24は入っておりません。

    Osaka_RT#sh run
    Building configuration…

    Current configuration : 821 bytes
    !
    version 15.1
    no service timestamps log datetime msec
    no service timestamps debug datetime msec
    service password-encryption
    !
    hostname Osaka_RT
    !
    ip cef
    no ipv6 cef
    !
    license udi pid CISCO2901/K9 sn FTX152438F9-
    !
    spanning-tree mode pvst
    !
    interface GigabitEthernet0/0
    ip address 192.168.1.1 255.255.255.240
    duplex auto
    speed auto
    !
    interface GigabitEthernet0/1
    ip address 192.168.4.254 255.255.255.0
    duplex auto
    speed auto
    !
    interface Vlan1
    no ip address
    shutdown
    !
    ip classless
    !
    ip flow-export version 9
    !
    line con 0
    logging synchronous
    login
    !
    line aux 0
    !
    line vty 0 4
    logging synchronous
    login
    !
    end

    同様に、名古屋RTの設定も行います。
    大阪RTへのルーティング192.168.4.0/24は設定されていません。
    また、スタティックルートされたパケットが到着しているかどうかを確認する為、gi0/0にアクセスリストを追加しております。

    Nagoya_RT#sh run
    Building configuration…

    Current configuration : 880 bytes
    !
    version 15.1
    no service timestamps log datetime msec
    no service timestamps debug datetime msec
    service password-encryption
    !
    hostname Nagoya_RT
    !
    ip cef
    no ipv6 cef
    !
    license udi pid CISCO2901/K9 sn FTX152463Q1-
    !
    spanning-tree mode pvst
    !
    interface GigabitEthernet0/0
    ip address 192.168.2.1 255.255.255.240
    ip access-group 100 in
    duplex auto
    speed auto
    !
    interface GigabitEthernet0/1
    ip address 192.168.3.254 255.255.255.0
    duplex auto
    speed auto
    !
    interface Vlan1
    no ip address
    shutdown
    !
    ip classless
    !
    ip flow-export version 9
    !
    !
    access-list 100 permit ip any any
    !
    line con 0
    logging synchronous
    login
    !
    line aux 0
    !
    line vty 0 4
    logging synchronous
    login
    !
    !
    !
    end

    東京RTの設定ポイントは、この3つのコマンドです。

    ip nat inside source static 192.168.4.1 192.168.2.3
    ip nat outside source static 192.168.3.1 192.168.1.3
    ip route 192.168.1.3 255.255.255.255 gi0/1

    上の2つのコマンドでは、
    inside側の送信元IPアドレス192.168.4.1を192.168.2.3へ、
    outside側の送信元IPアドレス192.168.3.1を192.168.1.3へNAT変換しています。

    ここで注意したいのは送信元IPアドレス192.168.4.1を192.168.2.3へ変換するということは、送信先192.168.2.3が192.168.4.1へNAT変換されるということでもあります。

    また、3つ目のコマンドは、192.168.1.3へのルートを追加しています。
    これはinside側の処理がルーティングをしてからNAT変換される為、このルーティングコマンドがないと通信できませんのでご注意下さい。

    outside側はNAT変換してからルーティングされるので特別なルーティングは不要です。

    そしてこちらが東京RTの設定です。

    Tokyo_RT#sh run
    Building configuration…

    Current configuration : 1226 bytes
    !
    version 15.1
    no service timestamps log datetime msec
    no service timestamps debug datetime msec
    service password-encryption
    !
    hostname Tokyo_RT
    !
    ip cef
    no ipv6 cef
    !
    license udi pid CISCO2901/K9 sn FTX1524U402-
    !
    spanning-tree mode pvst
    !
    interface GigabitEthernet0/0
    ip address 192.168.1.2 255.255.255.240
    ip access-group 101 in
    ip nat inside
    duplex auto
    speed auto
    !
    interface GigabitEthernet0/1
    ip address 192.168.2.2 255.255.255.240
    ip access-group 102 out
    ip nat outside
    duplex auto
    speed auto
    !
    interface Vlan1
    no ip address
    shutdown
    !
    ip nat inside source static 192.168.4.1 192.168.2.3
    ip nat outside source static 192.168.3.1 192.168.1.3
    ip classless
    ip route 192.168.1.3 255.255.255.255 GigabitEthernet0/1
    ip route 192.168.4.0 255.255.255.0 192.168.1.1
    ip route 192.168.3.0 255.255.255.0 192.168.2.1
    !
    ip flow-export version 9
    !
    !
    access-list 101 permit ip any host 192.168.1.3
    access-list 102 permit ip any host 192.168.3.1
    !
    line con 0
    logging synchronous
    login
    !
    line aux 0
    !
    line vty 0 4
    logging synchronous
    login
    !
    end

    youtubeでもご紹介しておりますのでぜひご覧ください。

     

    nginx入門|簡単インストール方法と設定を詳しく解説

    ここでは、nginxのインストール方法についてご紹介致します。

    CentOSなどRedhat系でのインストール方法と設定になります。

    と、その前にnginx(エンジンエックス)をよく知らない方に説明すると、nginxはwebサーバーのミドルソフトウェアです。

    メジャーなwebサーバーと言えば、apache、IISなどがありますが、nginxの一番の特徴はリバースプロキシの機能があることです。

    ちなみに、このリバースプロキシとは、サーバーの手前に設定してクライアントからの接続を複数のwebサーバーなどを振り分ける働きです。

    言わばロードバランサー的な働きをすることです。ですので、webサーバーの負荷を分散したり、また、webサーバーを停止することなくメンテナンスをすることができたりと大変便利な機能なんです(^^♪

    nginx入門|簡単インストール方法と設定を詳しく解説

    初めてnginxを使用する入門の方から少しご存知の方に向けた内容となっております。

    OS/Middleware Version
    CentOS 7.6.1810 (x86 64bit)
    nginx 1.15.7

    nginx入門|簡単インストール方法と設定を詳しく解説

    1-1. nginx用のレポジトリー「nginx.repo」を/etc/yum.repos.dフォルダーの下に作成する

    #vi /etc/yum.repos.d/nginx.repo
    ↓↓↓nginx用のレポジトリーファイルnginx.repoを作成し以下を入力↓↓↓

    ~~~~~~~~~~~~~~~ ここから ~~~~~~~~~~~~~~~
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
    gpgcheck=0
    enabled=1
    ~~~~~~~~~~~~~~~~~~ ここまで ~~~~~~~~~~~~~~~~~~

     

    1-2. nginxをインストール

    #yum install nginx

    Complete!を確認する

     

    1-3. nginx起動・再起動・ステータス確認

    # systemctl start nginx ← 起動
    # systemctl reload nginx ← 再起動(userへの影響ナシ
    # systemctl status nginx ← ステータス確認

     

    1-4. 設定

    nginxの基本的なconfigurationです。設定に必要なファイルはサーバー名毎に定義するファイルとバックエンド側の処理が定義されたupstream.confの2種類です。

    [設定条件]
    今回設定する条件は、http(port#80)で着弾したアクセスをhttps(port#443)へリダイレクト(301)し、バックエンドサーバーへ接続をします。https(port#443)で来た接続はそのままバックエンドサーバーへ接続をします。

    ※リダイレクト(301)とは、httpで通信を行う際のステータスコードの一種であり、特定のページから別のページへ転送させる際のステータスコードになります。このリダイレクトには301と302の2種類のステータスコードがあります。301は恒久的な転送を意味しており、302は一時的な転送を意味しています。ちなみに、httpでホームページなどをwebサーバーから正常にGETできた場合のステータスコードは200です。301のコードをもらったパソコンのブラウザーは、その転送先のページが表示されます。その際、ブラウザーのアドレスバーには転送先のURLが表示されます。

    nginx入門|簡単インストール方法と設定を詳しく解説

    ファイル名:/etc/nginx/conf.d/example.jp.conf
    ~~~~~~~~~~~~~~~ ここから ~~~~~~~~~~~~~~~
    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    server {
    listen 443 ssl ;

    server_name example.jp;

    access_log /var/log/nginx/example.jp_access.log main;
    ssl_certificate /cert/example.jp/example.cer;
    ssl_certificate_key /cert/example.jp/example.key;

    proxy_http_version 1.1;
    proxy_set_header Connection “”;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Server $http_host;
    proxy_redirect off;
    proxy_max_temp_file_size 0;

    # ELB X-Forwarded-For Settings
    set_real_ip_from 10.1.1.0/24;
    real_ip_header X-Forwarded-For;

    location / {
    proxy_pass https://example-furiwake;
    }

    }

    server {
    listen 80;

    server_name example.jp;

    access_log /var/log/nginx/example.jp_access.log main;

    proxy_http_version 1.1;
    proxy_set_header Connection “”;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Server $http_host;
    proxy_redirect off;
    proxy_max_temp_file_size 0;

    set_real_ip_from 10.1.1.0/24;
    real_ip_header X-Forwarded-For;

    location / {
    rewrite ^(.*)$ https://example.jp$1 permanent;
    proxy_pass https://example-furiwake;
    }

    }
    ~~~~~~~~~~~~~~~ ここまで ~~~~~~~~~~~~~~~

    permanent 恒久的なリダイレクトをするときに使用します。HTTPのステータスコードは「301」を返します。
    redirect 一時的なリダイレクトをするときに使用します。HTTPのステータスコードは「302」を返します。

     

     

    ファイル名:/etc/nginx/conf.d/upstream.confの設定内容
    ~~~~~~~~~~~~~~~ ここから ~~~~~~~~~~~~~~~
    upstream example-furiwake {
    keepalive 256;
    server 192.168.1.154:443 max_fails=0;
    server 192.168.1.155:443 max_fails=0;
    }
    ~~~~~~~~~~~~~~~ ここまで ~~~~~~~~~~~~~~~
    ※max_fails=0は、サーバーとのヘルスチェックを無効にしている
    ※keepalive connections数

     

    1-5. 文法チェック
    再起動の前に文法チェックをします。文法に誤りがあると行番号を表示してエラーがあることを教えてくれます。

    # nginx -t   ← 文法チェック。サービスに影響を与えません。
    エラーが無くなったらnginxを再起動しましょう。