iptables 時間ルールが Ubuntu 20.04 で動作しない

iptables 時間ルールが Ubuntu 20.04 で動作しない

私のルールは次のとおりです。

iptables -A INPUT -m mac --mac-source 40:e2:30:f4:00:04 -m time --timestart 18:00:00 --timestop 23:59:59 --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT
iptables -A INPUT -m mac --mac-source 40:e2:30:f4:00:04 -j DROP

20.04(iptables v1.8.4)では機能しません。助けが必要ですか?

PD:ここ著者は、iptablesがシステム時間ではなくUTCを読むためだと言います。ルールを試してみましたが、やはり動作しません。

iptables -A INPUT -m mac --mac-source 40:e2:30:f4:00:04 --match time --weekdays Mon,Tue,Wed,Thu,Fri --timestart $(date -u -d @$(date "+%s" -d "18:00") +%H:%M) --timestop $(date -u -d @$(date "+%s" -d "23:00") +%H:%M) -j ACCEPT
iptables -A INPUT -m mac --mac-source 40:e2:30:f4:00:04 -j DROP

PD:私--kerneltzここ説明)パラメータにはUTCではなくカーネルタイムゾーンを使用しているが、両方ではありません(そして--kerneltz 非常に落胆)

マイコンピュータ時間:

timedatectl status
               Local time: sáb 2021-08-28 12:42:49 -05
           Universal time: sáb 2021-08-28 17:42:49 UTC
                 RTC time: sáb 2021-08-28 17:42:48    
                Time zone: America/Bogota (-05, -0500)
System clock synchronized: yes                        
              NTP service: active                     
          RTC in local TZ: no

date --utc 
sáb 28 ago 2021 17:44:23 UTC

他のアプリケーションに影響を与える可能性があるため、私のコンピュータにUTC時間を設定しないことが解決策である場合は感謝します。

他のルールは機能しません(maclist.txtコンテンツ40:e2:30:f4:00:04など)。

current_time=$(date +%H) # actual 13
allowed_time=08
denied_time=12
maclist=$(awk '{print $1}' maclist.txt)
if [ \( $current_time -ge $allowed_time -a $current_time -lt $denied_time \) ]; then
    for mac in $(echo -e "$maclist"); do
        iptables -I INPUT -m mac --mac-source $mac -j NFLOG --nflog-prefix 'macblock'
        iptables -I INPUT -m mac --mac-source $mac -j ACCEPT
        iptables -I FORWARD -m mac --mac-source $mac -j NFLOG --nflog-prefix 'macblock'
        iptables -I FORWARD -m mac --mac-source $mac -j ACCEPT
    done
fi

出るsudo iptables -nvL

    0     0 NFLOG      tcp  --  eno2   *       0.0.0.0/0            0.0.0.0/0            MAC 40:e2:30:f4:00:04 TIME from 08:00:00 to 17:59:59 UTC nflog-prefix  blockports
    0     0 DROP       tcp  --  eno2   *       0.0.0.0/0            0.0.0.0/0            MAC 40:e2:30:f4:00:04 TIME from 08:00:00 to 17:59:59 UTC
    0     0 ACCEPT     tcp  --  eno2   *       0.0.0.0/0            0.0.0.0/0            MAC 40:e2:30:f4:00:04
          

ベストアンサー1

おすすめ記事