iptables i przypisanie reguł dla czterech kart sieciowych
: 01 maja 2010, 15:31
Witam.
Chciałbym się poradzić. Mam serwer, na którym mam bacule, nagiosa i sambe. Mam w nim 4 kary sieciowe zaadresowane do każdej podsieci. Chciałbym napisać firewall w ten sposób aby na każdym interfejsie zdefiniował inne reguły dla portów dostępowych. Z jednym interfejsem nie mam problemu ale przy większej ilości już zaczynają się schody.
Przykład jednego z moich firewalli:
W jaki sposób mam go przerobić (lub napisać od nowa) aby reguły odnosiły się do konkretnych interfejsów?
Chciałbym się poradzić. Mam serwer, na którym mam bacule, nagiosa i sambe. Mam w nim 4 kary sieciowe zaadresowane do każdej podsieci. Chciałbym napisać firewall w ten sposób aby na każdym interfejsie zdefiniował inne reguły dla portów dostępowych. Z jednym interfejsem nie mam problemu ale przy większej ilości już zaczynają się schody.
Przykład jednego z moich firewalli:
Kod: Zaznacz cały
SERWERY =" "
SERWERY_DOM=""
#serwisy udostepnione - zobacz /etc/services
SERWISY_TCP="22 rsync"
SERWISY_UDP="22"
iptables -P INPUT DROP
iptables -P FORWARD DROP
#akceptujemy wszytskie pakiety do internetu
iptables -P OUTPUT ACCEPT
# akceptuje wszystkie pakiety z sieci wewnetrznej
#iptables -A INPUT -i ${INTERNET} -j ACCEPT
# akceptuje wszystkie pakiety nalezace do istniejacych polaczen
# wraz z polaczeniami powiazanymi
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# akceptuje wszystkie pakiety skierowane do portw (uslug)
# zdefiniowanych w naglowku jako udostepnione
for x in ${SERWISY_TCP}
do
iptables -A INPUT -p tcp -s ${SERWERY} --dport ${x} -m state --state NEW -j ACCEPT
echo " Akceptuje ${x} (TCP) dla adresu ${SERWERY} "
iptables -A INPUT -p tcp -s ${SERWERY_DOM} --dport ${x} -m state --state NEW -j ACCEPT
echo " Akceptuje ${x} (TCP) dla adresu ${SERWERY_DOM} "
done
for x in ${SERWISY_UDP}
do
iptables -A INPUT -p udp -s ${SERWERY} --dport ${x} -m state --state NEW -j ACCEPT
echo " Akceptuje ${x} (UDP) "
done