0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FRRutingとdebian13 LXCで冗長化ルータ NAPTとconntrackd

0
Last updated at Posted at 2026-10-13

FRRutingとdebian13 LXCで冗長化ルータ NAPTとconntrackd

Ipv4フォワーディング有効済み
WAN側 NAPT

sudo apt update
sudo apt install keepalived conntrackd
sudo bash -c 'cat <<EOF > /etc/sysctl.d/99-conntrack.conf
net.netfilter.nf_conntrack_acct = 1
net.netfilter.nf_conntrack_checksum = 1
EOF
sysctl --system'
# nano /etc/conntrackd/conntrackd.conf
Sync {
    Mode FTFW {
        CommitTimeout 180
        PurgeTimeout 60
        ResendQueueSize 131072
        ACKWindowSize 300
        DisableExternalCache Off
    }
    Multicast {
        IPv4_address 225.0.0.50
        Group 3780
        IPv4_interface 192.168.0.1 # 同期用I/FのIP
        Interface eth3
        SndSocketBuffer 1249280
        RcvSocketBuffer 1249280
        Checksum on
    }
}
General {
    HashSize 8192
    HashLimit 65535
    Syslog on
    LockFile /var/lock/conntrackd.lock
    UNIX {
        Path /var/run/conntrackd.sock
        Backlog 20
    }
    SocketBufferSize 262142
    SocketBufferSizeMaxGrown 655355
    Systemd on
}

有効化

sudo systemctl enable --now conntrackd

構文チェック

sudo conntrackd -C /etc/conntrackd/conntrackd.conf -t

#再起動
sudo systemctl restart conntrackd

ステータス確認

sudo conntrackd -s
[Tue Oct 13 12:13:41 2026] (pid=396) [warning] deprecated unix backlog configuration, ignoring.
cache internal:
current active connections:                2
connections created:                       2    failed:            0
connections updated:                       0    failed:            0
connections destroyed:                     0    failed:            0

cache external:
current active connections:               31
connections created:                      66    failed:            0
connections updated:                     114    failed:            0
connections destroyed:                    35    failed:            0

traffic processed:
                   0 Bytes                         0 Pckts

multicast traffic (active device=eth3):
                2176 Bytes sent                14012 Bytes recv
                 133 Pckts sent                  342 Pckts recv
                   0 Error send                    0 Error recv

message tracking:
                   0 Malformed msgs                    0 Lost msgsきたな

もしうまくいかないとき
FWの設定をみてみる
nftablesの場合

nano /etc/nftables.conf
#---追加
chain input {
ip daddr 225.0.0.50 udp dport 3780 accept
ip protocol vrrp accept
}
#---
sudo nft -f /etc/nftables.conf
sudo nano /usr/local/bin/conntrackd-notify.sh
#---
#!/bin/bash
# Keepalived conntrackd Notification Script
TYPE=$1
NAME=$2
STATE=$3
case $STATE in
    "MASTER")
        /usr/sbin/conntrackd -c
        /usr/sbin/conntrackd -f

        /usr/sbin/conntrackd -B
        ;;
    "BACKUP")
        /usr/sbin/conntrackd -f
        ;;
    "FAULT")
        /usr/sbin/conntrackd -f
        ;;
    *)
        echo "Unknown state: $STATE" >&2
        exit 1
        ;;
esac
exit 0
#---
sudo chmod +x /usr/local/bin/conntrackd-notify.sh
nano /etc/keepalived/keepalived.conf
#---
vrrp_instance VI_1 {
    state MASTER            # もう1台は BACKUP
    interface eth3          # VRRP通信用インターフェース
    virtual_router_id 51
    priority 101            # BACKUP側は 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass secret123
    }
    virtual_ipaddress {
        192.168.254.30/27 dev eth1
    }
    # conntrackd 連携スクリプトの呼び出し設定
    notify /usr/local/bin/conntrackd-notify.sh
}

#---
sudo systemctl restart keepalived

片方のルータを電源落としたときにVIPが入れ替わればOK

複数のI/FでVIPを設定したいとき

#...既存のVI_1 {
#略
}
# 2つ目のインスタンスを追加
vrrp_instance VI_2 {
    state MASTER
    interface eth3 # VRRPの死活監視・制御用パケットを流すIF 共通でOK
    virtual_router_id 52 # VI_1 とは別のIDにする
    priority 101 
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass secret123
    }
    virtual_ipaddress {
        10.0.0.30/24 dev eth2
    }
}

priorityはマスターになる優先度、値が大きい方が優先される。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?