自宅ネットワークBGP化メモ
ここのバックエンドはGitなので設定ファイルのバージョン管理を兼ねている。
いずれはメッシュ化したる!!!!イエア!!!!
誰かの役に立つかもしてないからPublicなここにべちょっと貼り付ける!
ほぼ全部シスコ風コンフィグなのでメモっておかないと取り違えてしまいそうだ。
ASN 65500 RUCKUS ICX 7450-48
Section titled “ASN 65500 RUCKUS ICX 7450-48”これが現状のコアスイッチ。
k8sのCiliumとBGPを張ったりしている。
カンで書いてるので自分でも内容をあんまり把握してねえ
状況チェック用コマンド
Section titled “状況チェック用コマンド”- show ip bgp neighbors 192.168.100.1 routes
- show ip bgp summary
- show ip route bgp
設定ファイル
Section titled “設定ファイル”いくらなんでも長すぎるのでBGP部分だけ抜粋
- redistribute connectedで直結しているルートを公表する。
- redistribute staticでスタティックルートを公表する。
- neighbor k8scluster01 default-originate k8sに対してicxがデフォルトルートであると伝える
router bgp local-as 65500 neighbor k8scluster01 peer-group neighbor k8scluster01 remote-as 65501 neighbor 192.168.100.1 remote-as 65502 neighbor 192.168.100.51 peer-group k8scluster01 neighbor 192.168.100.52 peer-group k8scluster01 neighbor 192.168.100.53 peer-group k8scluster01 neighbor 192.168.100.54 peer-group k8scluster01
address-family ipv4 unicast redistribute connected redistribute static neighbor k8scluster01 default-originate
address-family ipv6 unicast!ASN 65501 k8s Cilium
Section titled “ASN 65501 k8s Cilium”Ingress冗長化目当てで昔組んでそれっきりなのでなるべく触らない。
とりあえずコアスイッチからデフォルトルートもらってくる感じ?知らんけど
サンプルコピペなので内容は把握してない!動いているからヨシ!😸
設定ファイル
Section titled “設定ファイル”apiVersion: cilium.io/v2alpha1kind: CiliumBGPClusterConfigmetadata: name: cilium-bgpspec: nodeSelector: matchLabels: rack: rack0 bgpInstances: - name: "65501" localASN: 65501 peers: - name: "peer-65500" peerASN: 65500 peerAddress: 192.168.100.254 peerConfigRef: name: "cilium-peer"
---apiVersion: cilium.io/v2alpha1kind: CiliumBGPPeerConfigmetadata: name: cilium-peerspec: gracefulRestart: enabled: true restartTimeSeconds: 15 families: - afi: ipv4 safi: unicast advertisements: matchLabels: advertise: "bgp"
---apiVersion: cilium.io/v2alpha1kind: CiliumBGPAdvertisementmetadata: name: bgp-advertisements labels: advertise: bgpspec: advertisements: - advertisementType: "PodCIDR" attributes: communities: standard: ["65000:99"] - advertisementType: "Service" service: addresses: - LoadBalancerIP selector: matchExpressions: - { key: dummy, operator: NotIn, values: ["never-used-value"] } attributes: communities: standard: ["65000:100"]---apiVersion: "cilium.io/v2alpha1"kind: CiliumLoadBalancerIPPoolmetadata: name: "ip-pool"spec: blocks: - cidr: 192.168.190.0/24ASN 65502 CheckPoint V-80(OpenWrt+frr)
Section titled “ASN 65502 CheckPoint V-80(OpenWrt+frr)”ここが対外接続用(デフォルトルート)
従来はコアスイッチ行きのスタティックルートが大量に書き連ねられていたのでこれをBGP化し管理コスト軽減を図る。
状況チェック用コマンド
Section titled “状況チェック用コマンド”OpenWrtのコンソールから撃つ用
- vtysh -c “show running-config”
- vtysh -c “show bgp summary”
- ip route show proto bgp
設定ファイル
Section titled “設定ファイル”route-map とかあるので全部掲載
どうせローカルのvtyshからしか触れないし
- default-originate でコアスイッチに対して自身がデフォルトルートであると公表する。
- コアスイッチ逝きだけ許可する設定を念のため仕込んでおけとAIが言うので仕込んでる(route-map MAP-TO-CORE out)
- 書かないとshow bgp summaryに(Policy)と出てきて何も機能しないのでコアスイッチからの経路は全部信じて受け取る設定を追加している(route-map PERMIT-ALL in)
frr version 10.4.1frr defaults traditionalhostname OpenWrtlog syslog!ip prefix-list ALLOW-TO-CORE seq 5 permit 192.168.0.0/16 ge 24 le 32!route-map MAP-TO-CORE permit 10 match ip address prefix-list ALLOW-TO-COREexit!route-map MAP-TO-CORE deny 20exit!route-map PERMIT-ALL permit 10exit!password zebra!router bgp 65502 bgp router-id 192.168.100.1 neighbor 192.168.100.254 remote-as 65500 ! address-family ipv4 unicast neighbor 192.168.100.254 default-originate neighbor 192.168.100.254 route-map PERMIT-ALL in neighbor 192.168.100.254 route-map MAP-TO-CORE out exit-address-familyexit!access-list vty seq 5 permit 127.0.0.0/8access-list vty seq 10 deny any!line vty access-class vtyexit!endASN 65503 DCS-7124SX
Section titled “ASN 65503 DCS-7124SX”まだ設定未投入
ASN 65504 DCS-7124SX
Section titled “ASN 65504 DCS-7124SX”Oracle Cloudと宅内を拠点間VPNでIPSec直結してルートを交換する。
まだ買ってない
