LoginSignup
4

More than 5 years have passed since last update.

Juniper SRX Seriesでmulti homingする

Last updated at Posted at 2015-09-18

Juniper SRX Seriesでmulti homingする

Ciscoでsource address routingを使って出口を分けたことしかなく、やったら割と面倒だったのでメモ。
ほぼwebguiで設定不可です。
DHCP Serverとしても機能させる場合、JUNOS Software Release 12.1X47以降推奨。

目標

  • インターネット回線が二つあり、SRX 210 HE2 1台で両方とも受け取る。接続はDHCP。PPPoEでもpp0とpp1に読み替えれば問題ないはずです。
  • メインの回線とゲスト用回線の二つに分割する。VLAN切って置いてWifiのアクセスポイントに渡す。

設定

普通に設定できるところは設定項目のみ記載。

vlan

vlan vlan name description
vlan.1 internal 内部通信用
vlan.2 wifi wifi用
vlan.3 Guest guest wifi用

インターフェース

interface vlan description
ge-0/0/0 no vlan dhcp-client インターネット回線1
ge-0/0/1 native-vlan internal, trunk vlan [wifi Guest] 無線AP用
fe-0/0/2 no vlan dhcp-client インターネット回線2
fe-0/0/3-7 access vlan internal 内部通信用

Zone

Zone interface
internal vlan.1 vlan.2
internet ge-0/0/0
Guest vlan.3
Guest Internet fe-0/0/2

Security Policyは適当に。ルーティングをどうにかしてあげないとポリシーをどうしようがinternalとguestは繋がりません。
他、internal -> internetとguest -> Guest internetにSource NATしてインターネットに出れるようにしてあげます。

Virtual Router

当初はsource natのみで出口が変えられると思ってたけど全然ダメだったのでVirtual Router機能を使ってどうにかします。

Virtual Routerを使うと複数のルーティングテーブルが作成でき、それに対してインタフェースを割り当てられるので今回の目的に最適。社内とゲストで相互で通信できないほうがよいので。

ゲスト用の回線として使うfe-0/0/2とvlan3を所属させておきます。
今回はdhcpで回線情報を受け取るので必要ないですが、設定がいる場合にはrouting-instances内のrouting-optionsでstatic routeを設定します。

routing-instances {
    guest {
        instance-type virtual-router;
        interface fe-0/0/2.0;
        interface vlan.3;
    }
}

DHCP

これで大体動くんですが、DHCP Serverとして動かしてると、routing-instanceで隔離したところだけDHCPが配れません。
DHCPのパケットだけinet.0を通るように設定してあげる方法もありましたが、とてもわかりにくいので、12.1X47以降に搭載されているJDHCPを使う方法にします。

旧DHCP Serverの設定と混じるとエラーとなる糞仕様なのでデフォルトのdhcp設定は全て削除する必要があります。つまりwebguiからdhcpを設定してると駄目です。

DHCP serverは今回のようにVirtual Routerで分割している場合は、routing-instance内で作ってあげる必要があります。

system {
    service {
       dhcp-local-server {
            group dhcp-group {
                interface vlan.1;
                interface vlan.2;
            }
        }
    }
}
access {
    address-assignment {
        pool wifi {
            family inet {
                network x.x.x.x/20;
                range wifi-range {
                    low x.x.x.x;
                    high x.x.x.x;
                }
                dhcp-attributes {
                    name-server {
                        x.x.x.x;
                    }
                    router {
                        x.x.x.x;
                    }
                    propagate-settings vlan.2;
                }
            }
        }
        pool internal {
            family inet {
                network x.x.x.x/20;
                range internal-range {
                    low x.x.x.x;
                    high x.x.x.x;
                }
                dhcp-attributes {
                    name-server {
                        x.x.x.x;
                    }
                    router {
                        x.x.x.x;
                    }
                    propagate-settings vlan.1;
                }
            }
        }
    }
}
routing-instances {
        system {
            services {
                dhcp-local-server {
                    group guest {
                        interface vlan.3;
                    }
                }
            }
        }
        access {
            address-assignment {
                pool guest {
                    family inet {
                        network x.x.x.x/24;
                        range guest-range {
                            low x.x.x.x;
                            high x.x.x.x;
                        }
                        dhcp-attributes {
                            name-server {
                                x.x.x.x;
                            }
                            router {
                                x.x.x.x;
                            }
                            propagate-settings vlan.3;
                        }
                    }
                }
            }
        }
    }
}

DHCP clientでDHCPを受け取る側も同様でデフォルトのものは使えません。

interfaces {
    ge-0/0/0 {
        gigether-options {
            auto-negotiation;
        }
        unit 0 {
            family inet {
                dhcp-client {
                    update-server;
                }
            }
        }
    }
    fe-0/0/2 {
        fastether-options {
            auto-negotiation;
        }
        unit 0 {
            family inet {
                dhcp-client {
                    update-server;
                }
            }
        }
    }
}

これでゲスト側でもDHCPが渡せます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4