Ich habe es entfernt und in CentOS 7 (Kernel ) firewalld
installiert . Mein Regelsatz ist wie folgt:nftables
3.10.0-1160.42.2.el7.x86_64
# nft list ruleset
table ip my_table {
set ssh_evils {
type ipv4_addr
}
set sip_evils {
type ipv4_addr
}
set dialers {
type ipv4_addr
}
set sip_origins {
type ipv4_addr
elements = { 27.a.b.c, 51.p.q.r,
139.x.y.z }
}
set port_fw {
type ipv4_addr
elements = { 27.a.b.c }
}
set iax_ports {
type inet_service
elements = { 4501 }
}
chain input {
type filter hook input priority 0; policy drop;
iif "lo" accept
tcp dport ssh ip saddr @ssh_evils counter packets 0 bytes 0 drop
udp dport sip ip saddr @sip_evils counter packets 0 bytes 0 drop
ct state vmap { invalid : drop, established : accept, related : accept, new : accept }
udp dport { 1100-1199, 10000-20000 } accept
udp dport @iax_ports accept
udp dport { sip } ip saddr @sip_origins accept
udp dport { sip } ip saddr @dialers accept
tcp dport { ssh, http, https } accept
icmp type echo-request limit rate 500/second accept
}
chain dummy1 {
type filter hook prerouting priority -100; policy accept;
}
chain dummy2 {
type filter hook forward priority 0; policy accept;
}
chain dummy3 {
type filter hook postrouting priority 100; policy accept;
}
chain port_forward {
type nat hook prerouting priority -10; policy accept;
tcp dport 40004 ip saddr @port_fw dnat to 192.168.101.4:http
tcp dport 40005 ip saddr @port_fw dnat to 192.168.101.5:http
tcp dport 40009 ip saddr @port_fw dnat to 192.168.101.9:http
tcp dport 50001 ip saddr @port_fw dnat to 10.1.1.2:http
}
chain sip_forward {
type nat hook prerouting priority -10; policy accept;
udp dport { 6060-6080 } redirect to :sip
}
chain tmp_forward {
type nat hook prerouting priority -10; policy accept;
}
chain masq {
type nat hook postrouting priority 10; policy accept;
masquerade
}
}
Ich habe es vollständig deinstalliert firewalld
und habe keine iptables
Regel.
Diese nftable
Konfiguration lässt jedoch keine loopback
Verbindung zu und führt sogar ping 127.0.0.1
zu einer Zeitüberschreitung.
Andere Dinge (z. B. http
Portweiterleitung ssh
usw.) funktionieren einwandfrei.
Ich konnte hierfür keine Lösung finden. nft monitor
druckt nichts.
Antwort1
Ich habe es herausgefunden! Das Problem war die bedingungslose masquerading
Regel.
ich ersetzte
chain masq {
type nat hook postrouting priority 10; policy accept;
masquerade
}
mit
chain masq {
type nat hook postrouting priority 10; policy accept;
oif != "lo" masquerade
}
und das Problem gelöst!