自宅機器はZabbixで監視をしている。Zabbixはインターネットと直接通信をする必要がないため、内部のネットワークセグメントに配置し、VyOSを介してインターネット接続用のネットワークセグメントと通信させている。
しかし、インターネット接続用の一部機器において、スタティックルートを設定することができない機器があり、この機器に対して例えばPingによる死活監視を実施しようとした場合は、戻りルーティングがないため監視をすることができない。
この事象を解決するため、SNAT (Source NAT) をVyOSにて実施し、あたかもZabbixの監視サーバからの通信は同一セグメントのIPアドレスからの通信として見せる対処を行う。
環境
Zabbixとなる送信元サーバは、「192.168.11.24」となる。この送信元サーバから、192.168.33.0/24のネットワークセグメントの機器に対してPingやZabbix Agentによる監視をできるよう、「192.168.11.24」のIPアドレスをVyOSのIPアドレスである「192.168.33.31」のIPアドレスに変換を行う。
手順
1. SNATを設定
SNATの設定はset nat source rule <ルール番号> <設定>
で行う。今回は、ルール番号を110として、以下のように設定を行う。
設定値 | 設定値 | 説明 |
---|---|---|
description | SNAT-t1024cent | わかりやすい説明を記載 |
destination address | 192.168.33.0/24 | NAT対象とする送信先IPアドレスまたはネットワークアドレスを指定 |
outbound-interface | eth0 | 送信するインターフェースを指定 |
source address | 192.168.11.24 | NAT対象とする送信元IPアドレスまたはネットワークアドレスを指定 |
translation address | 192.168.33.31 | 変換後の送信元IPアドレスを指定 |
上記設定をコマンドに直すと以下の通りとなる。
# set nat source rule 110 description SNAT-t1024cent
# set nat source rule 110 destination address 192.168.33.0/24
# set nat source rule 110 outbound-interface eth0
# set nat source rule 110 source address 192.168.11.24
# set nat source rule 110 translation address 192.168.33.31
# commit
# save
確認コマンドで確認してみよう。
$ show nat source rules
Disabled rules are not shown
Codes: X - exclude rule, M - masquerade rule
rule intf translation
---- ---- -----------
110 eth0 saddr 192.168.11.24 to 192.168.33.31
proto-all sport ANY
when daddr 192.168.33.0/24, dport ANY
Desc: SNAT-t1024cent
2. 接続確認
送信元サーバ (192.168.11.24) から送信先サーバ (192.168.33.23) にPingによる疎通確認を行った際の、SNATの状況を確認する。
まず、送信先サーバにてtcpdump
を使いPingのIPアドレスを確認してみるとVyOSのIPアドレスである「192.168.33.31」が送信元アドレスとなっていることがわかる。
# tcpdump -i any -nn host 192.168.33.31
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
21:12:56.077629 IP 192.168.33.31 > 192.168.33.23: ICMP echo request, id 12649, seq 1, length 64
21:12:56.077661 IP 192.168.33.23 > 192.168.33.31: ICMP echo reply, id 12649, seq 1, length 64
21:12:57.089793 IP 192.168.33.31 > 192.168.33.23: ICMP echo request, id 12649, seq 2, length 64
21:12:57.089816 IP 192.168.33.23 > 192.168.33.31: ICMP echo reply, id 12649, seq 2, length 64
21:12:58.113772 IP 192.168.33.31 > 192.168.33.23: ICMP echo request, id 12649, seq 3, length 64
21:12:58.113797 IP 192.168.33.23 > 192.168.33.31: ICMP echo reply, id 12649, seq 3, length 64
21:12:59.137910 IP 192.168.33.31 > 192.168.33.23: ICMP echo request, id 12649, seq 4, length 64
21:12:59.137930 IP 192.168.33.23 > 192.168.33.31: ICMP echo reply, id 12649, seq 4, length 64
VyOSにてshow nat source translations detail
コマンドにて確認することで、SNATの状況を確認することができる。
$ show nat source translations detail
Pre-NAT src Pre-NAT dst Post-NAT src Post-NAT dst
192.168.11.24 192.168.33.23 192.168.33.31 192.168.33.23
icmp: 192.168.11.24 ==> 192.168.33.31 timeout: 26 use: 1
192.168.33.24 192.168.33.33 192.168.33.24 192.168.33.33
icmp: 192.168.33.24 ==> 192.168.33.24 timeout: 8 use: 1
0 件のコメント:
コメントを投稿