いろいろバックエンドな人の備忘録

といいつつレイヤーのネタ書いてます。Ruby(RoR)、自宅サーバー,PCパーツ、ネットワーク、ピアノまで。

<備忘録>VyOSで一部サイトが見れない現象でハマった

MSSサイズのセットアップ

有名ではあると思うが、フレッツ回線をVyOSで触る場合は後述のように policy に書いてやらなければいけない。
それ自体は知っていたのでセットアップしていたが、それでも一部サイトが見れない現象がおこった。

# 応答が返ってこない
curl -s www.itmedia.co.jp | wc -c  

# ホスト側で mtu サイズを指定する
nmcli connection modify eth0 802-3-ethernet.mtu 1454
systemctl restart network

# 返ってきたから VyOS の mtu サイズが反映されていないと思われる
curl -s www.itmedia.co.jp | wc -c
131684

原因は適用インターフェイスの誤りだった

下記を pppep 0 インターフェイスに割り当てていたがこれはLAN側に適用しなければいけなかった。

※eth0=WAN / eth1=LAN の場合

set policy route FLETS rule 10 description '[1454]-[IP:20]-[TCP:20]=1414'
set policy route FLETS rule 10 destination address '0.0.0.0/0'
set policy route FLETS rule 10 protocol 'tcp'
set policy route FLETS rule 10 set tcp-mss '1414'
set policy route FLETS rule 10 tcp flags 'SYN,!ACK,!FIN,!RST'

set interfaces ethernet eth1 policy route FLETS

commit
# ホスト側で mtu サイズを 1500 に戻す
nmcli connection modify eth0 802-3-ethernet.mtu 1500
systemctl restart network

# つながった
curl -s www.itmedia.co.jp | wc -c
131684

こんな単純なことに気づかなかったなんて・・・。