LINUX.ORG.RU

iptables


0

0

У меня стоит RedHat 7.3 с активированным iptables. Какое правило надо задать чтобы он пропускал всю почту и от меня к миру и от мира ко мне. Получается как только я его глушу (./iptables stop) почта ко мне лезет, так что дело точно в нем.


Ответ на: комментарий от fura13

С пониаем пока не очень такчто даю свои рулсы Буду крайне благодарен за совет. #!/bin/sh # # rc.firewall-iptables-stronger # FWVER=0.88s

echo -e "\nLoading rc.firewall-iptables-STRONGER - version $FWVER..\n" IPTABLES=/sbin/iptables LSMOD=/sbin/lsmod DEPMOD=/sbin/depmod MODPROBE=/sbin/modprobe GREP=/bin/grep AWK=/bin/awk IFCONFIG=/sbin/ifconfig EXTIF="ppp0" INTIF="eth0" echo " External Interface: $EXTIF" echo " Internal Interface: $INTIF" echo " ---" EXTIP="`$IFCONFIG $EXTIF | $AWK \ /$EXTIF/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`" echo " External IP: $EXTIP" echo " ---" INTNET="192.168.0.0/24" INTIP="192.168.0.10/32" echo " Internal Network: $INTNET" echo " Internal IP: $INTIP" echo " ---" UNIVERSE="0.0.0.0/0" echo " - Verifying that all kernel modules are ok" $DEPMOD -a

echo -en " Loading kernel modules: " echo -en "ip_tables, " # #Verify the module isn't loaded. If it is, skip it # if [ -z "` $LSMOD | $GREP ip_tables | $AWK {'print $1'} `" ]; then $MODPROBE ip_tables fi echo -en "ip_conntrack, " if [ -z "` $LSMOD | $GREP ip_conntrack | $AWK {'print $1'} `" ]; then $MODPROBE ip_conntrack fi echo -e "ip_conntrack_ftp, " if [ -z "` $LSMOD | $GREP ip_conntrack_ftp | $AWK {'print $1'} `" ]; then $MODPROBE ip_conntrack_ftp fi echo -en "iptable_nat, " if [ -z "` $LSMOD | $GREP iptable_nat | $AWK {'print $1'} `" ]; then $MODPROBE iptable_nat fi echo -e "ip_nat_ftp" if [ -z "` $LSMOD | $GREP ip_nat_ftp | $AWK {'print $1'} `" ]; then $MODPROBE ip_nat_ftp fi activate echo " ---" echo " Enabling forwarding.." echo "1" > /proc/sys/net/ipv4/ip_forward echo " Enabling DynamicAddr.." echo "1" > /proc/sys/net/ipv4/ip_dynaddr

echo " ---" echo " Clearing any existing rules and setting default policy to DROP.." $IPTABLES -P INPUT DROP $IPTABLES -F INPUT $IPTABLES -P OUTPUT DROP $IPTABLES -F OUTPUT $IPTABLES -P FORWARD DROP $IPTABLES -F FORWARD $IPTABLES -F -t nat $IPTABLES -X $IPTABLES -Z echo " Creating a DROP chain.." $IPTABLES -N reject-and-log-it $IPTABLES -A reject-and-log-it -j LOG --log-level info $IPTABLES -A reject-and-log-it -j REJECT echo -e "\n - Loading INPUT rulesets" $IPTABLES -A INPUT -i lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT $IPTABLES -A INPUT -i $INTIF -s $INTNET -d $UNIVERSE -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -s $INTNET -d $UNIVERSE -j reject-and-log-it $IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state \ ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -s $UNIVERSE -d $UNIVERSE -j reject-and-log-it echo -e " - Loading OUTPUT rulesets" $IPTABLES -A OUTPUT -m state -p icmp --state INVALID -j DROP $IPTABLES -A OUTPUT -o lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT $IPTABLES -A OUTPUT -o $INTIF -s $EXTIP -d $INTNET -j ACCEPT $IPTABLES -A OUTPUT -o $INTIF -s $INTIP -d $INTNET -j ACCEPT $IPTABLES -A OUTPUT -o $EXTIF -s $UNIVERSE -d $INTNET -j reject-and-log-it $IPTABLES -A OUTPUT -o $EXTIF -s $EXTIP -d $UNIVERSE -j ACCEPT $IPTABLES -A OUTPUT -s $UNIVERSE -d $UNIVERSE -j reject-and-log-it echo -e " - Loading FORWARD rulesets" echo " - FWD: Allow all connections OUT and only existing/related IN" $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 -j reject-and-log-it echo " - NAT: Enabling SNAT (MASQUERADE) functionality on $EXTIF" $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j SNAT --to $EXTIP $IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE --to-ports 110 $IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE --to-ports 25

Как видите я пытался кинуть почту через маскарад но это почему-то не работает...

Helg
() автор топика
Ответ на: комментарий от Helg

Так более читабельно

echo -e "\nLoading rc.firewall-iptables-STRONGER - version $FWVER..\n"

IPTABLES=/sbin/iptables

LSMOD=/sbin/lsmod

DEPMOD=/sbin/depmod

MODPROBE=/sbin/modprobe

GREP=/bin/grep

AWK=/bin/awk

IFCONFIG=/sbin/ifconfig

EXTIF="ppp0"

INTIF="eth0"

echo " External Interface: $EXTIF"

echo " Internal Interface: $INTIF"

echo " ---"

EXTIP="`$IFCONFIG $EXTIF | $AWK \ /$EXTIF/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`" echo " External IP: $EXTIP" echo " ---"

INTNET="192.168.0.0/24" INTIP="192.168.0.10/32"

echo " Internal Network: $INTNET" echo " Internal IP: $INTIP" echo " ---"

UNIVERSE="0.0.0.0/0"

echo " - Verifying that all kernel modules are ok"

$DEPMOD -a

echo -en " Loading kernel modules: " echo -en "ip_tables, "

if [ -z "` $LSMOD | $GREP ip_tables | $AWK {'print $1'} `" ]; then $MODPROBE ip_tables fi

echo -en "ip_conntrack, "

if [ -z "` $LSMOD | $GREP ip_conntrack | $AWK {'print $1'} `" ]; then $MODPROBE ip_conntrack fi

echo -e "ip_conntrack_ftp, "

if [ -z "` $LSMOD | $GREP ip_conntrack_ftp | $AWK {'print $1'} `" ]; then $MODPROBE ip_conntrack_ftp fi

echo -en "iptable_nat, "

if [ -z "` $LSMOD | $GREP iptable_nat | $AWK {'print $1'} `" ]; then $MODPROBE iptable_nat fi

echo -e "ip_nat_ftp"

if [ -z "` $LSMOD | $GREP ip_nat_ftp | $AWK {'print $1'} `" ]; then $MODPROBE ip_nat_ftp fi

activate echo " ---" echo " Enabling forwarding.." echo "1" > /proc/sys/net/ipv4/ip_forward echo " Enabling DynamicAddr.." echo "1" > /proc/sys/net/ipv4/ip_dynaddr

echo " ---" echo " Clearing any existing rules and setting default policy to DROP.."

$IPTABLES -P INPUT DROP $IPTABLES -F INPUT $IPTABLES -P OUTPUT DROP $IPTABLES -F OUTPUT $IPTABLES -P FORWARD DROP $IPTABLES -F FORWARD $IPTABLES -F -t nat $IPTABLES -X $IPTABLES -Z

echo " Creating a DROP chain.."

$IPTABLES -N reject-and-log-it $IPTABLES -A reject-and-log-it -j LOG --log-level info $IPTABLES -A reject-and-log-it -j REJECT

echo -e "\n - Loading INPUT rulesets"

$IPTABLES -A INPUT -i lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT

$IPTABLES -A INPUT -i $INTIF -s $INTNET -d $UNIVERSE -j ACCEPT

$IPTABLES -A INPUT -i $EXTIF -s $INTNET -d $UNIVERSE -j reject-and- log-it

$IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state \ ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -s $UNIVERSE -d $UNIVERSE -j reject-and-log-it echo -e " - Loading OUTPUT rulesets"

$IPTABLES -A OUTPUT -m state -p icmp --state INVALID -j DROP

$IPTABLES -A OUTPUT -o lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT

$IPTABLES -A OUTPUT -o $INTIF -s $EXTIP -d $INTNET -j ACCEPT

$IPTABLES -A OUTPUT -o $INTIF -s $INTIP -d $INTNET -j ACCEPT

$IPTABLES -A OUTPUT -o $EXTIF -s $UNIVERSE -d $INTNET -j reject-and-log-it

$IPTABLES -A OUTPUT -o $EXTIF -s $EXTIP -d $UNIVERSE -j ACCEPT

$IPTABLES -A OUTPUT -s $UNIVERSE -d $UNIVERSE -j reject-and-log-it

echo -e " - Loading FORWARD rulesets" echo " - FWD: Allow all connections OUT and only existing/related IN"

$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 -j reject-and-log-it

echo " - NAT: Enabling SNAT (MASQUERADE) functionality on $EXTIF"

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j SNAT --to $EXTIP

$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE --to-ports 110

$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE --to-ports 25

Helg
() автор топика
Ответ на: комментарий от anonymous

Применил совет fura13 Т.е прписал два правила одно для 110 порта и одно для 25 Перегрузил фаервол и почту сразу обрубило :( А что дает строка >$IPTABLES -P INPUT DROP ?

Helg
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.