Fórumok
hi all
az a gondom hogy epitenem a tuzfalam DROP policyvel de nem igazan akar mukodni
Ha a policit drop-ra allitom akkor nincs semmi meg ha a www-t engedelyezem is.
Irna nekem valaki egy mukodo szabalyt nemi magyarazattal ami csak a www-t engedi be es DROP policy van beallitva.
A keresem hogy legyen state es multiport is benne hogy lassam hogy kene kinezni, utana mar majd csak elboldogulok.
Koszonom
Hozzászólások
Üdv!
Hogy átlásd a láncok működését, itt egy rajz:
Petya
hi
Kossz a gyors valaszt de akdt itt egy kis problema
anubys:/home/tibi# iptables -A INPUT -i eth0 -p tcp -m tcp -m multiport --dport 80,443 -j ACCEPT
iptables v1.3.3: invalid TCP port/service `80,443' specified
Try `iptables -h' or 'iptables --help' for more information.
nem dport, hanem dports.
Petya
Uhh ugy nez ki vak vagyok koszi
Beallitottam de a torrent meg mindig vigan megy.
En spec nem akarom tiltani a torrentet csak eddig azt tapasztaltam hogy a policyt dropra allitom akkor a torrent behal most meg jon szepen
nem ismerem pontosan a torrent protokollt, de az output chain változatlanul acceptre van állítva. szóval a kimenő kapcsolatokat nem korlátozza semmi, csak hozzád nem lehet csatlakozni.
Azt megmondanatok meg hogy ha csak ezt irom be az miert nem jo? iptables -A INPUT -i eth0 -p tcp -m tcp -m multiport --dports 80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
Hűha. Ez a szabály azt jelenti, hogy csak az olyan 80-as vagy 443-as portra kapcsolódásokat engeded, amelyek egy már meglévő kapcsolathoz tartoznak.
Amit írtam, az meg bármit enged a 80,443-ra, a state-es szabályok meg azért vannak, mert kértél állapottartásra példát.
Petya
Kerdeznem:
jo ertem, hogy az elso state-es szabalynak igazabol a peldan kivul sok ertelme nincs itt,mert ezeken a portokon ugy is beengedi az uj kapcsolatokat is? A masodiknak mar van.
Koszi
Udv,
nekem egy olyan szabalyra lenne szuksegem, ami az egy bizonyos portra erkezo csomagokat
atiranyitja egy masik IP-re. tudna ebben valaki segiteniegy peldaval?
iptables -A PREROUTING -t nat -p tcp --dport $CELPORT -d $KULSO_IP -j DNAT --to-destination $ATIR_IP:$ATIR_PORT
iptables -A FORWARD -p tcp --dport $ATIR_PORT -d $ATIR_IP -i $KULSO_INTERFACE -m state --state NEW,ESTABLISHED -j ACCEPT
Szevasztok!
Gondban vagyok. Egy külső IPcímről a tűzfalon át belülre kéne irányítanom a 3389-es portot (windows távoli asztal hozzáférés (remote desktop)) egy belső hálózati windows szerverre.
A dolog érdekessége, hogy nem működik. :)
Így próbálkoztam:
-A PREROUTING -i eth0 -s (külső fix IP cím) -p tcp -m tcp --dport 3389 -j DNAT --to-destination (windows szerver belső hálózati címe):3389
kipróbáltam, hogy átírtam a belső címet a mail szerverünkre és a portot 25-re, és így ha a külső IPcímről próbálkozok telnetelni akkor remekül beköszön az SMTP kiszolgáló. Tehát elvileg a NAT működne. Windowsba remote viszont nem megy...
A tűzfal logja ezt írja:
kernel: FW: INPUT catch-all: IN=eth0 OUT=eth2 SRC=(külső fix IP) DST=(windows szerver belső címe) LEN=48 TOS=0x00 PREC=0x00 TTL=121 ID=35286 DF PROTO=TCP SPT=3269 DPT=3389 WINDOWS=65535 RES=0x00 SYN URGP
A külső szerver (mikor próbálok csatlakozni) várakozik egy pár másodpercig, majd általános hibaüzenettel leáll (a kapcsolat nem jött létre).
A cél szerver remote portja nyitva van, mert a belső hálózatból nap mint nap remote desktopolok. Csak kintről nem működik. :(
iptables -t nat -A PREROUTING -i ${INTERNET_IF} -d ${INTERNET_IP} -p tcp -m multiport --dport port1,port2 -j DNAT --to ${BELSO_IP}
--
maszili
A távoli asztalnak kell a gre (general routing encapsulation) protokoll (47 -es asszem) is. Szóval azt is be kell forwardolni.
___________________________________________________________________
Lógnak a pálmafán a kókuszok .... :)
Hello!
Van nekem egy tűzfal scriptem és meg szeretném kérdezni, hogy mi a véleménytek róla.
FWVER=0.001
#
# Internet megosztas teszt script
#
echo -e "\n\nAlapveto Internetmegosztas inditasa v. $FWVER..\n"
# A parancsok helye
#
#
IPTABLES=/sbin/iptables
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe
# Kulso es belso eszkozok beallitasa
#
# Ebben a peldaban "eth0" a kulso es "eth1" a belso
#
# Ha ADSL-t vagy analog modemet hasznalsz akkor valoszinuleg
# EXTIF="ppp0" kell hogy legyen
# hasznald az "ifconfig" parancsot
#
# az ip cimeket az /etc/networkin/interfaces állományban találod vagy ifconfig paancs segit
# tehát ezeket nem itt állitjuk
# innen kapja a netet
EXTIF="eth0"
# ezek mennek máshová másik gépekbe
INTIF="eth1"
ONTIF="eth2"
# tobbet is be lehet állitani kézzel ...
echo " Kulso eszkoz: $EXTIF"
echo " Belso eszkoz: $INTIF"
echo " Belso eszkoz: $ONTIF"
echo -en " modulok betoltese: "
echo " - Kernel modulok vizsgalata"
$DEPMOD -a
echo -e "----------------------------------------------------------------------\n"
echo -en "ip_tables, "
$MODPROBE ip_tables
echo -en "ip_conntrack, "
$MODPROBE ip_conntrack
echo -en "ip_conntrack_ftp, "
$MODPROBE ip_conntrack_ftp
echo -en "ip_conntrack_irc, "
$MODPROBE ip_conntrack_irc
echo -en "iptable_nat, "
$MODPROBE iptable_nat
echo -en "ip_nat_ftp\n "
$MODPROBE ip_nat_ftp
echo -e "---------------------------------------------------------------------- \n"
echo -e "eddigi szabályok törlése \n"
$IPTABLES --flush
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
echo -e "---------------------------------------------------------------------- \n"
echo -e " Modulok betoltese kesz.\n"
echo " Ip tovabbitas engedelyezese.."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo " DynamicAddr engedelyezese.."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo " Alapveto atiranyitasok beallitasa.."
#feltöltés
$IPTABLES -P INPUT ACCEPT
#$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
#$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
#$IPTABLES -F FORWARD
$IPTABLES -t nat -F
#védelmek
$IPTABLES -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$IPTABLES -A INPUT -p icmp -j DROP
# ez a rész felel a megosztásért
# ha jol megnézed a forwardolás torténeik
# egy belsõ gép 2 sor beállitással megy kinntre
echo -e "új szabályok betöltése"
echo " Csak Belulrol letrehozott kapcsolatok engedelyezese"
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -i $EXTIF -o $ONTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $ONTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
echo " Ip maszkolas engedejezese a $EXTIF eszkozon"
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
# port nyitás
# itt jönnek az állitások vagyis melyik port melyik gép felé legyen nyitva
# ez egy port megnyitása mindkét irányba
# kifelé
$IPTABLES -A PREROUTING -t nat -p tcp -d 192.168.1.3 --dport 34616 -j DNAT --to 192.168.2.7
# befelé
$IPTABLES -A PREROUTING -t nat -p udp -d 192.168.1.3 --dport 34616 -j DNAT --to 192.168.2.7
# ide jön a többi
echo -e "KESZ.\n"
Nem értem teljesen pontosan, hogy mit is szeretnél, és mi a jelenlegi felállás.
A saját gépedről átmenő forgalmat akarod szűrni, vagy ezzel a géppel megosztod a hálózatot és úgy akarsz szűrni?
___________________________________________________________________
Lógnak a pálmafán a kókuszok .... :)
ezzel a géppel osztom a netet, és ha már meg 24 órában akkor legyen haszna is ezért van rajta tűzfal script.
Javaslom, olvass utána a netfilter/iptables és a hálózat, itt a hupon sok-sok téma volt már ezzel kapcsolatban. Kezdd azzal, hogy mi is az ICMP valójában. Az egy dolog, hogy az ICMP echo-t eldobod, de az összes icmp-t NEM SZABAD, ugyanis pl. csatlakozolni próbálsz egy másik géphez pl. böngészővel, s a gép nem elérhető, vagy egyszerűen valamiért nem fut rajta az adott szolgáltatás, akkor egy icmp csomagban jön vissza, hogy nem tudtad elérni. Bár tcp esetén nem feltétlenül, de még ott is lehet, különösen, ha tűzfalban valaki simán regy REJECT targetet állított be.
Ha már nagyjából látod, hogyan működik ez mind, akkor elkezdhetsz gondolkodni azon, hogy saját szkriptet írjál, ellenkező esetben javasolt egy másvalaki által készített szkriptet használni, és utánanézni, hogy hogyan is működik.
Ezt a sort már kivettem $IPTABLES -A INPUT -p icmp -j DROP, mert nem működött a ping.
A scriptet nem én írtam, úgy írták nekem.