Portál AbcLinuxu, 8. května 2025 00:55
INET_ADR=`ifconfig enp3s0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1 }'` echo $INET_ADR #enp3s0 - venkovni sit enx0050b608da65 #enp2s0 - vnitrni sit iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P OUTPUT ACCEPT iptables -P INPUT DROP iptables -P FORWARD DROP iptables -A POSTROUTING -t nat -o enp3s0 -j SNAT --to $INET_ADR iptables -A INPUT -i tap0 -j ACCEPT iptables -A FORWARD -i tap0 -j ACCEPT iptables -A POSTROUTING -t nat -o tap0 -j SNAT --to $INET_ADR iptables -A INPUT -i lo -j ACCEPT iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i enp3s0 -p icmp -j ACCEPT iptables -A INPUT -i enp2s0 -j ACCEPT iptables -A INPUT -i enp3s0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i enp3s0 -p tcp --dport 443 -j ACCEPT iptables -A INPUT -i enp3s0 -p tcp --dport 65022 -j ACCEPT iptables -A INPUT -i enp3s0 -p tcp --dport 22 -j ACCEPT #minecraft iptables -A INPUT -i enp3s0 -p tcp --dport 25565 -j ACCEPT iptables -A INPUT -i enp3s0 -p tcp --dport 25560 -j ACCEPT iptables -A INPUT -i enp3s0 -p tcp --dport 25550 -j ACCEPT iptables -A INPUT -i enp3s0 -p tcp --dport 25555 -j ACCEPT iptables -A INPUT -i enp3s0 -p tcp --dport 25500 -j ACCEPT iptables -A FORWARD -i enp3s0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i enp2s0 -j ACCEPT echo "1" > /proc/sys/net/ipv4/ip_forwardVše mi funguje jak potřebuju, teď jsem ale narazil na nový požadavek ze strany manželky - blokovat určitá zařízení. Snažil jsem se to vyřešit pomocí řádku:
iptables -A INPUT -i enp2s0 -m mac --mac-source mac_adresa -j REJECTkterý jsem strčil před #minecraft. Bohužel po reloadu script se nic nestalo a zařízení si komunikuje vesele dál. Zkusil jsem na jiném stroji použít ufw, povolil jsem všem přístup na port 80 a pak zkusil zařízení s určitou mac přístup zakázat. Zase se nic nestalo
Jak říkám pomocí MAC adres to nebude fungovat pokud tam kde to nastavuješ není i ta wifi - jak paket projde přes router/switch tak bude mít MAC toho routeru/switchu.
Citace ze včerejšího komentáře zazatele:
Na serveru běží DHCP server, který přiděluje IP adresy všem zařízením, včetně těch, která jsou na WiFi. Když si vypíšu z logu dhcp serveru přidělené adresy, vidím je včetně správných MAC adres daných zařízení.
Takže tam asi žádný router mezi nimi není (switch by MAC adresu nezměnil - pomineme-li, že některé firmy pro zmatení zákazníků routerům říkají "L3 switch").
INPUT
i FORWARD
, bych asi zkusil místo REJECT
použít spíš DROP
. Ono není moc jasné, jak přesně by se v tomhle případě (v kombinaci s podmínkou, která testuje linkovou hlavičku) ten REJECT
vlastně měl chovat (to bych se musel podívat do zdrojáků a tolik času se mi nad tím trávit nechce).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.