cloud-initを無効にしてから、私の設定を設定してUbuntu 20.04サーバーで固定ローカルIPを設定しようとしています。50-cloud-init.yaml
これは、有線で接続されたRaspberry Pi 4にあります。
network:
ethernets:
eth0:
addresses: [192.168.1.11/24]
dhcp4: false
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
netplan buildを実行した後、netplan tryを実行します。動作し、固定ローカルIPが正常に設定されました。
しかし、これは「睡眠」を引き起こす。 SSHを介して接続し、しばらくそのままにすると、入力が再応答するのに数秒かかります。これはSSHを介して行われるだけでなく、TCPサーバーも実行中であり、同じことが起こります。しばらく放置すると寝ているようです。
この状況は静的IPを設定した後にのみ発生します。
誰でも何が起こっているのかを提案できますか?
ベストアンサー1
Linuxにはこれをサポートしています。実行時にカーネルパラメータを設定できるようにkeepalive
設定を変更できます。sysctl
Keepaliveに関連する手順では、3つのユーザー中心の変数を使用します。
tcp_keepalive_time
:最後に送信されたパケット(単純なACKはデータとは見なされません)と最初の接続保持プローブとの間の間隔は、接続を維持する必要があるとマークされた後に使用されなくなりました。
tcp_keepalive_intvl
:同時に交換された接続に関係なく、後続のKeepaliveプローブ間の間隔。
tcp_keepalive_probes
:接続が切断されたと見なしてアプリケーション層に通知する前に送信された未承認プローブの数。
以下を使用してこれらの値を変更してみることができます。
echo 600 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl
echo 20 > /proc/sys/net/ipv4/tcp_keepalive_probes
問題が解決したら、次のように変更を永久に適用できます/etc/sysctl.conf
。
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 60
net.ipv4.tcp_keepalive_probes = 20