Azt, hogy az iptables valójában melyik backend-et használja egyszerű megnézni:
root@debianbuster:~# iptables --version
iptables v1.8.2 (nf_tables)
vs.
root@debianbuster:~# iptables-legacy --version
iptables v1.8.2 (legacy)
Itt egy megjegyzés: amikor ezt a két parancsot egymás után kiadja az ember a kernelbe betöltődnek a régi iptables és nftables modulok is. És ez a kettő egymástól függetlenül konfigurálható, ami aztán értelemszerűen elég erősen lábonlövés jellegű.
És akkor egy olyan iptables szabály aminek nem létezik nftables-ben megfelelője a 4.19-es kernelben.
iptables -t mangle -A POSTROUTING -d 5.6.7.8/32 -m policy --dir out --pol none -j DROP
Ez elvileg eldob minden csomagot az 5.6.7.8 felé , de csak ha nem ipsec tunnelben közlekedik.
És ez lesz belőle:
root@debianbuster:~# nft list chain mangle POSTROUTING
table ip mangle {
chain POSTROUTING {
type filter hook postrouting priority -150; policy accept;
counter packets 0 bytes 0 accept
ip daddr 5.6.7.8 counter packets 0 bytes 0 drop
}
}
Ebből az látszik, hogy eldobja az 5.6.7.8 felé menő csomagokat mindenféle módosító (meta) nélkül.
Egyszóval figyeljünk frissítésnél a szabályrendszerünkre.
- godot blogja
- A hozzászóláshoz be kell jelentkezni
- 3181 megtekintés
Hozzászólások
nem hangzik jól
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
A legszebb, hogy ha iptables-el (az nf_tables backendet használóval nyilván) megnézed, ott az látszik, hogy minden ok.
root@debianbuster:~# iptables -L POSTROUTING -n -v -t mangle
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 5.6.7.8 policy match dir out pol none
# Warning: iptables-legacy tables present, use iptables-legacy to see them
Mondjuk legalább van egy figyelmeztetés, hogy a legacy iptables is használatban van. :)
Ami ugye másik alrendszer tehát annak a POSTROUTING-jában nincs is semmi.
root@debianbuster:~# iptables-legacy -L POSTROUTING -n -v -t mangle
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
De legalább le van írva hogy:
Beware of using both the nft and the legacy tools at the same time. That means using both x_tables and nf_tables kernel subsystems at the same time, and could lead to unexpected results.
- A hozzászóláshoz be kell jelentkezni
Ez szimpla absztrakció.
Kétféle módon lehet implementálni.
Vagy iszonyat lassú lesz (relatíve) és viszonylag jól konvertálódnak az utasítások. Lásd Java.
Vagy elfogadható sebességű lesz (mint ez, mert itt nem lehet lassú) de folyton konverziós likakra fut.
Az van, hogy amikor a kernel váltani fog, akkor át kell írni a teljes iptablest. Nem lehet megúszni a munkát :(
Ilyenkor lehet azokra a több éves iptables gyöngyszemekre akadni, amikor vakarjuk a fejünket, hogy ez mire jó? semmire. Kitörlöm... utána kiderül, hogy semmi sem megy :)
- A hozzászóláshoz be kell jelentkezni
"Ilyenkor lehet azokra a több éves iptables gyöngyszemekre akadni, amikor vakarjuk a fejünket, hogy ez mire jó?" - én erre (is) használom a szabályokban a kommenteket valahogy így:
-m comment --comment "f0stal1cska app-nak kell 20150203 Zeller"
Ha összetartozó rule-ok vannak, azoknál azonos a komment, hogy arra lehessen keresni úgy az aktív szabálybázisban, mint a betöltésre szolgáló listafájlban. A firewalld esetében dettó, csak ott mondjuk az xml-be kerül a magyarázat.
- A hozzászóláshoz be kell jelentkezni
Tudom, hogy ez olyan, mint egy hasmenés, amire nincs Imodium, de én még visszatartom, amíg tudom.
Nekem akkor tolják az nftables-t, ha már lesz majd rá ipset. Kadlecsik Józsi rulez! Talán megírja előbb-utóbb az nftables-es ipset-et is, bár efelől sajnos vannak kétségeim.
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Nyitott kapukat döngetsz mert az nftables-ben nagyjából a kezdetektől van "ipset".
https://wiki.nftables.org/wiki-nftables/index.php/Main_Page#Advanced_da…
- A hozzászóláshoz be kell jelentkezni
Akkor kell még olvasnom. Jó lenne hozzá egy konverter. Legutóbb, mikor néztem még nem álltam készen a váltásra.
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Igen, nyáron megjelenő Debian Buster is már az nftables-t fogja alapértelmezettnek tekinteni: https://wiki.debian.org/nftables#Current_status
Egyébként az ifconfig és route, továbbá a vconfig, brctl parancsok is lassan-lassan átadják a helyüket az "ip" parancsnak. Egyre gyakrabban futok bele olyan telepítésbe, ahol nincs már alapból ifconfig.
( ip link add link eth0 name eth0.20 type vlan id 20 )
Aztán most jól újratanulhatjuk az új parancsoknál a szintaktikákat.
- A hozzászóláshoz be kell jelentkezni
Mióta "deprecated" az ifconfig és társai...?
- A hozzászóláshoz be kell jelentkezni
Gyors kereses utan kb. 2016 ota: https://www.techrepublic.com/article/pro-tip-use-the-ip-command-in-favo… :)
Szerk: illetve mar 2012 ota biztosan, szoval eleg regota.
- A hozzászóláshoz be kell jelentkezni
Nohát ez az... :-D És azóta nem sikerült kikukázni szinte semennyire sem...
Egy 2008-as(!) írás a témában: http://inai.de/2008/02/19
- A hozzászóláshoz be kell jelentkezni
Bocs, azt hittem tenyleg kerdezed..nem tudom, mai napig vegyesen hasznalom, teljesen atszoknom az ip-re es a vele erkezo uj dolgokra sosem sikerult.
- A hozzászóláshoz be kell jelentkezni
Igen, úgy kellett volna kérdeznem, hogy "Mióta is deprecated...?", de semmi gond, egyrészt te is utánaolvastál, másrészt meg aki ide téved, az is megkapja ezt az információt.
Egyébként én is vegyesen használom, van, amiben az ip, és van, amiben a "régi" parancs (ifconfig, route és társaik ugye...) áll jobban kézre. Jellemzően CentOS vonalon mozgok, úgyhogy ha onnan végleg kikukázzák a régi parancsokat, akkor átállok fullban az ip parancsra.
- A hozzászóláshoz be kell jelentkezni
kiba régen :)
- A hozzászóláshoz be kell jelentkezni
Sokadszor mondom, az SzSzKK-s Linux-admin könyvekben szépen össze van szedve, hogy ezeket a deprecated parancsokat hogy kell ip-ül mondani.
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
Es en ezert is nagyon szeretem azokat a konyveket, koszonet ezuton is. :)
- A hozzászóláshoz be kell jelentkezni
Lassan kellene egy olyan is, ami a systemd-* bigyóknak a régi megfelelőit sorolja fel.
--------------------------------------------------------------------
https://www.accountkiller.com
http://fczbkk.com/current-state-of-webdesign/
- A hozzászóláshoz be kell jelentkezni
Ja, csak míg az ip parancs érdekelt, a systemd-világ kissé hidegen hagy. (Én ugye sok éve "megjósoltam" egy előadásban, hogy a systemd a kutyát se érdekli, de a világ nem hallgatott rám.)
De amúgy igen, a könyveket aktualizálni kellene és hiba is van bennük néhány :-(
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
nemreg futolag rhel8 beta-t feldobtam virtualis gepbe, hogy belekukkantsak mikre kellhet keszulni, ugye mar rhel7-ben is firewalld volt a default es ezaltal az ajanlott, ez a resz nem valtozott csak rhel8-ban az is mar az nftables-t hivogatja. Aminek okan ha megszokasbol iptables paranccsal nezzuk meg a szabalyokat azt latjuk nincs semmi betoltve:
[root@rhel8beta ~]# iptables -nvL
Chain INPUT (policy ACCEPT 127 packets, 9965 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 76 packets, 8321 bytes)
pkts bytes target prot opt in out source destination
[root@rhel8beta ~]#
[root@rhel8beta ~]# iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
[root@rhel8beta ~]#
[root@rhel8beta ~]# iptables -nvL -t mangle
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Pedig ha megnezzuk nft-vel vagy firewalld-cmd -vel akkor latszik hogy letrehozott a firewalld sajat szabalyokat tablakkal, chainekkel stb. amik ra vannak kotve a input, output stb. reszekre csak eltero prioritassal:
[root@rhel8beta ~]# firewall-cmd --state
running
[root@rhel8beta ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@rhel8beta ~]# nft list tables
table ip filter
table ip6 filter
table bridge filter
table ip security
table ip raw
table ip mangle
table ip nat
table ip6 security
table ip6 raw
table ip6 mangle
table ip6 nat
table bridge nat
table inet firewalld
table ip firewalld
table ip6 firewalld
Amibol ha csak inet firewalld-t megnezzuk:
[root@rhel8beta ~]# nft list table inet firewalld
table inet firewalld {
chain raw_PREROUTING {
type filter hook prerouting priority -290; policy accept;
icmpv6 type { nd-router-advert, nd-neighbor-solicit } accept
meta nfproto ipv6 fib saddr . iif oif missing drop
jump raw_PREROUTING_ZONES_SOURCE
jump raw_PREROUTING_ZONES
}
chain raw_PREROUTING_ZONES_SOURCE {
}
chain raw_PREROUTING_ZONES {
iifname "enp0s3" goto raw_PRE_public
goto raw_PRE_public
}
chain mangle_PREROUTING {
type filter hook prerouting priority -140; policy accept;
jump mangle_PREROUTING_ZONES_SOURCE
jump mangle_PREROUTING_ZONES
}
chain mangle_PREROUTING_ZONES_SOURCE {
}
chain mangle_PREROUTING_ZONES {
iifname "enp0s3" goto mangle_PRE_public
goto mangle_PRE_public
}
chain filter_INPUT {
type filter hook input priority 10; policy accept;
ct state established,related accept
iifname "lo" accept
jump filter_INPUT_ZONES_SOURCE
jump filter_INPUT_ZONES
ct state invalid drop
reject with icmpx type admin-prohibited
}
chain filter_FORWARD {
type filter hook forward priority 10; policy accept;
ct state established,related accept
iifname "lo" accept
jump filter_FORWARD_IN_ZONES_SOURCE
jump filter_FORWARD_IN_ZONES
jump filter_FORWARD_OUT_ZONES_SOURCE
jump filter_FORWARD_OUT_ZONES
ct state invalid drop
reject with icmpx type admin-prohibited
}
chain filter_INPUT_ZONES_SOURCE {
}
chain filter_INPUT_ZONES {
iifname "enp0s3" goto filter_IN_public
goto filter_IN_public
}
chain filter_FORWARD_IN_ZONES_SOURCE {
}
chain filter_FORWARD_IN_ZONES {
iifname "enp0s3" goto filter_FWDI_public
goto filter_FWDI_public
}
chain filter_FORWARD_OUT_ZONES_SOURCE {
}
chain filter_FORWARD_OUT_ZONES {
oifname "enp0s3" goto filter_FWDO_public
goto filter_FWDO_public
}
chain raw_PRE_public {
jump raw_PRE_public_log
jump raw_PRE_public_deny
jump raw_PRE_public_allow
}
chain raw_PRE_public_log {
}
chain raw_PRE_public_deny {
}
chain raw_PRE_public_allow {
}
chain filter_IN_public {
jump filter_IN_public_log
jump filter_IN_public_deny
jump filter_IN_public_allow
meta l4proto { icmp, ipv6-icmp } accept
}
chain filter_IN_public_log {
}
chain filter_IN_public_deny {
}
chain filter_IN_public_allow {
tcp dport ssh ct state new,untracked accept
ip6 daddr fe80::/64 udp dport dhcpv6-client ct state new,untracked accept
tcp dport 9090 ct state new,untracked accept
}
chain filter_FWDI_public {
jump filter_FWDI_public_log
jump filter_FWDI_public_deny
jump filter_FWDI_public_allow
meta l4proto { icmp, ipv6-icmp } accept
}
chain filter_FWDI_public_log {
}
chain filter_FWDI_public_deny {
}
chain filter_FWDI_public_allow {
}
chain mangle_PRE_public {
jump mangle_PRE_public_log
jump mangle_PRE_public_deny
jump mangle_PRE_public_allow
}
chain mangle_PRE_public_log {
}
chain mangle_PRE_public_deny {
}
chain mangle_PRE_public_allow {
}
chain filter_FWDO_public {
jump filter_FWDO_public_log
jump filter_FWDO_public_deny
jump filter_FWDO_public_allow
}
chain filter_FWDO_public_log {
}
chain filter_FWDO_public_deny {
}
chain filter_FWDO_public_allow {
}
}
Verziok egyebkent:
[root@rhel8beta ~]# iptables --version
iptables v1.8.0 (nf_tables)
[root@rhel8beta ~]# nft --version
nftables v0.9.0 (Fearless Fosdick)
[root@rhel8beta ~]# uname -a
Linux rhel8beta.localdomain 4.18.0-32.el8.x86_64 #1 SMP Sat Oct 27 19:26:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Ha pl iptables-save-el le akarjuk menteni, esetleg valami regebbi scriptunkben az van akkor is erhet meglepetes, mert nem kepes ra, ellenben a vegen egy komment ott legalabb mar jelzi hogy nem tud mit kezdeni a firewalld tablaval, hasznalj nft-t:
[root@rhel8beta ~]# iptables-save
# Generated by xtables-save v1.8.0 on Sat Apr 20 20:03:32 2019
*filter
:INPUT ACCEPT [1925:115709]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [993:278937]
COMMIT
# Completed on Sat Apr 20 20:03:32 2019
# Generated by xtables-save v1.8.0 on Sat Apr 20 20:03:32 2019
*security
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Sat Apr 20 20:03:32 2019
# Generated by xtables-save v1.8.0 on Sat Apr 20 20:03:32 2019
*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Sat Apr 20 20:03:32 2019
# Generated by xtables-save v1.8.0 on Sat Apr 20 20:03:32 2019
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Sat Apr 20 20:03:32 2019
# Generated by xtables-save v1.8.0 on Sat Apr 20 20:03:32 2019
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Sat Apr 20 20:03:32 2019
# Table `firewalld' is incompatible, use 'nft' tool.
- A hozzászóláshoz be kell jelentkezni
(Hogy én ezt hányszor fogom megszívni az elkövetkező 5-6 évben.)
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
Huh, koszi, tovabbra is iszonyuan nem tetszik, remesen kenyelmetlennek tunik elso-masodik olvasatra, tenyleg rengeteg szivas lesz vele, plane, hogy nincs olyan kenyelmes frontend hozza, mint az iptables-hoz. :(
- A hozzászóláshoz be kell jelentkezni
nekem most sikerult beleszaladni centos8-on. ssh megy http nem, nezem iptables ures, wtf??? aztan kiderult hogy firewalld + nft...
amugy az ifconfig/ip valtasnal is lehet ilyet latni, pl. ha nem adsz nevet az ip aliasnak ip paranccsal letrehozva akkor az ifconfig nem fogja mutatni...
- A hozzászóláshoz be kell jelentkezni
Az ifconfig / ip annyiban más eset, hogy az előbbi igen-igen régóta "deprecated", de mivel együtt tud élni az ip-vel, így még bőven nincs mindenhonnan kihajítva - az iptables / nft "páros" esetén viszont nincs érdemi lehetőséged paralel használni a kettőt. :-/
- A hozzászóláshoz be kell jelentkezni