{% if not helpers.empty('syslog.enable') %} {% if syslog.ipproto == 'ipv6'%} {% set ipprotocol = "6" %} {% else %} {% set ipprotocol = "4" %} {% endif %} {# generate localip tag if we can find a static address #} {% set ns = namespace() %} {% for intf_key,intf_item in interfaces.items() %} {% if ipprotocol == "4" %} {% if intf_key == syslog.sourceip and intf_item.ipaddr and intf_item.ipaddr != 'dhcp' %} {% set ns.localiptag = 'localip(' ~ intf_item.ipaddr ~ ')' %} {% endif %} {% else %} {% if intf_key == syslog.sourceip and intf_item.ipaddrv6 and intf_item.ipaddrv6.count(':') > 0 %} {% set ns.localiptag = 'localip(' ~ intf_item.ipaddrv6 ~ ')' %} {% endif %} {% endif %} {% endfor %} destination d_legacy_remote { {% for server in ['remoteserver', 'remoteserver2', 'remoteserver3'] %} {% if not helpers.empty('syslog.' + server) %} network("{{syslog[server]}}" transport("udp") port(514) ip-protocol({{ipprotocol}}) {{ns.localiptag}}); {% endif %} {% endfor %} }; {% if not helpers.empty('syslog.logall') %} ### ALL #### log { source(s_all); destination(d_legacy_remote); }; {% else %} # section filters filter f_remote_system { not facility(daemon, local0, local1, local2, local3, local4, local5, local6, local7, user); }; filter f_remote_filter { program(filterlog); }; filter f_remote_dhcp { program("dhcrelay") or program("dhcpd"); }; filter f_remote_dns { program("unbound") or program("dnsmasq"); }; filter f_remote_mail { program("postfix"); }; filter f_remote_portalauth { program("captiveportal"); }; filter f_remote_vpn { program("l2tps") or program("poes") or program("pptps") or program("charon") or program("openvpn") or program("tinc*"); }; filter f_remote_ids { program("suricata"); }; filter f_remote_apinger { program("dpinger"); }; filter f_remote_relayd { program("haproxy") or program("relayd"); }; filter f_remote_hostapd { program("hostapd"); }; {% for section in ['system', 'filter', 'dhcp', 'dns', 'mail', 'portalauth', 'vpn', 'ids', 'apinger', 'relayd', 'hostapd'] %} {% if not helpers.empty('syslog.'+section) %} ### log section {{section}} #### log { source(s_all); filter(f_remote_{{section}}); destination(d_legacy_remote); }; {% endif %} {% endfor %} {% endif %} {% endif %}