Portál AbcLinuxu, 3. prosince 2025 20:35
I několik přeinstalování mě neodradilo.
Teď jsem se však setkal s něčím, co mi až do teď fungovalo.
Chci nastavit iptables, povolit port. napíšu iptables -A INPUT -p tcp -dport 80 -j ACCEPT. Vždy to fungovalo. Teď to píše Bad argument '80' Try 'iptables -h' or 'iptables --help' for more information.
Nevíte co může být špatně? Použávám Debian.
Děkuji
Řešení dotazu:
iptables-save > /etc/iptables. To je ok. Zapíšu to do /etc/network/interfaces jako post-up iptables-restore < /etc/iptables.Ok. Vše je zapsáno. I po restartu to všechno zůstane. Ale iptables se mi nenačte a opět pracuje s prázdnou. Tedy všechno povoleno. Při startu to píše Configuring network interfaces.../etc/network/interfaces:1: misplaced option ifup: couldn't read interfaces file "/etc/netowrk/interfaces". Nevíte kde může být chyba?
Děkuji.
/etc/init.d/iptables save active,/etc/network/interfaces neni potreba nic davat.
/etc/init.d/iptables save active mám zadat přesně tohle? Mě to totiž nefunguje
Přístup odmítnut
#! /bin/sh
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
WAN_IP="10.222.1.17"
IPTABLES="/sbin/iptables"
LAN="eth0"
WIFI="ath0"
WAN="eth1"
set -e
case "$1" in
start)
echo -n "Nahravam pravidla pro iptables (firewall,masquerade)"
# =============================================================
# Paranoia zakladni politka
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
# rp_filter na zamezeni IP spoofovani
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $f; done
# Ochrana pred Dos utokem
echo 1 >/proc/sys/net/ipv4/tcp_syncookies
# Flush all old
$IPTABLES -F
$IPTABLES -t nat -F
# =============================================================
# Loopback a interni interface
# =============================================================
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -i $LAN -j ACCEPT
$IPTABLES -A INPUT -i $WIFI -j ACCEPT
# =============================================================
# Povoleni portu na WAN
# =============================================================
$IPTABLES -A INPUT -i $WAN -p UDP -s 0/0 --sport 53 -d $WAN_IP --dport 1025: -j ACCEPT #DNS
$IPTABLES -A INPUT -i $WAN -p TCP -s 0/0 -d $WAN_IP --dport 22000 -j ACCEPT #SSH
# =============================================================
# Presmerovavani portu
# =============================================================
#Provede presmerovani portu 80 na port 8088
$IPTABLES -A INPUT -i $WAN -p TCP -s 0/0 -d $WAN_IP --dport 8088 -j ACCEPT #WWW IPBOX
$IPTABLES -t nat -A PREROUTING -i $WAN -p tcp --dport 8088 -j DNAT --to 192.168.0.4:80 #WWW IPBOX Nastaveni presmerovani
$IPTABLES -A FORWARD -p tcp -i $WAN -d 192.168.0.4 --dport 80 -j ACCEPT #WWW IPBOX Povoleni presmerovani
#Provede presmerovani portu 8080 na port 8088
$IPTABLES -A INPUT -i $WAN -p TCP -s 0/0 -d $WAN_IP --dport 8080 -j ACCEPT #WWW IPBOX NewCS
$IPTABLES -t nat -A PREROUTING -i $WAN -p tcp --dport 8080 -j DNAT --to 192.168.0.4:8080 #WWW IPBOX NewCS Nastaveni presmerovani
$IPTABLES -A FORWARD -p tcp -i $WAN -d 192.168.0.4 --dport 8080 -j ACCEPT #WWW IPBOX NewCS Povoleni presmerovani
# =============================================================
# Konec presmerovavani portu
# =============================================================
# ICMP (Povoleni PINGu typ 8 echo , typ 11 time exeeded , typ 0 echo reply , typ destination unreacheble )
$IPTABLES -A INPUT -i $WAN -p ICMP -s 0/0 ! --icmp-type 8 -j ACCEPT
#$IPTABLES -A INPUT -i $WAN -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
# All packets that do not request a connection can pass
$IPTABLES -A INPUT -i $WAN -p TCP ! --syn -j ACCEPT # tcp flags:!0x17/0x02
# Extremni paranoia
$IPTABLES -A INPUT -p TCP --dport 0 -j DROP
$IPTABLES -A INPUT -p UDP --dport 0 -j DROP
$IPTABLES -A INPUT -p TCP --sport 0 -j DROP
$IPTABLES -A INPUT -p UDP --sport 0 -j DROP
$IPTABLES -A FORWARD -p TCP --dport 0 -j DROP
$IPTABLES -A FORWARD -p UDP --dport 0 -j DROP
$IPTABLES -A FORWARD -p TCP --sport 0 -j DROP
$IPTABLES -A FORWARD -p UDP --sport 0 -j DROP
$IPTABLES -A OUTPUT -p TCP --dport 0 -j DROP
$IPTABLES -A OUTPUT -p UDP --dport 0 -j DROP
$IPTABLES -A OUTPUT -p TCP --sport 0 -j DROP
$IPTABLES -A OUTPUT -p UDP --sport 0 -j DROP
# ================================================================
# Maskarada
# ================================================================
# Moduly pro ftp prenosy
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
# Zavedeme moduly pro nestandardni cile
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
# Presmerovani mezi sitovkama
$IPTABLES -I FORWARD -i $WAN -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT # mezi inetem a siti
$IPTABLES -I FORWARD -i $WAN -o $WIFI -m state --state ESTABLISHED,RELATED -j ACCEPT # mezi inetem a wifi
$IPTABLES -I FORWARD -i $LAN -o $WIFI -m state --state ESTABLISHED,RELATED -j ACCEPT # mezi siti a wifi
$IPTABLES -I FORWARD -i $LAN -o $WAN -j ACCEPT
$IPTABLES -I FORWARD -i $WIFI -o $WAN -j ACCEPT
$IPTABLES -I FORWARD -i $WIFI -o $LAN -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE
# Forwarding on
echo "1" > /proc/sys/net/ipv4/ip_forward
# ================================================================
echo "."
;;
stop)
echo -n "Vyprazdneni iptables"
# ================================================================
# Forwarding off
#echo "0" > /proc/sys/net/ipv4/ip_forward
# Povoleni vseho
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
# Vynulovani pravidel
$IPTABLES -F
$IPTABLES -t nat -F
# ================================================================
echo "."
;;
esac
exit 0
To cele jako spustitelnej soubor nakopirovat do /etc/rc.d/init.d
a vytvorit prislusne odkazy v init levelech .
pak uz staci jen start stop .
Skript slouzi jako navod , pro firewall staci i mensi pocet prikazu , ale je mozne sijej rozsirit i o jine vymozenosti .
Jako je logovani atd...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.