Маскарадинг на несколько адресов

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
VadimD
Сообщения: 90

Маскарадинг на несколько адресов

Сообщение VadimD »

Доброе время суток.
Подскажите пожалуйста, как организовать маскарадинг не на всю сеть, а на несколько адресов.
На данный момент есть ppp0 и eth0 с сеткой 192.168.0.0/24, организовано все таким образом:

Код: Выделить всё

#!/bin/sh
IPT='/sbin/iptables'
EXTIF=ppp+
$IPT -F
$IPT -X
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
#  маскарадинг только для 192.168.0.60(пробел)192.168.0.61 и т.д.
for i in 200 60 61 62 63 64 65 66 67 68 69 70;
do
echo -n "Masquerading 192.168.0.$i"
echo ""
$IPT -t nat -A POSTROUTING -s 192.168.0.$i -o $EXTIF -j MASQUERADE
$IPT -A FORWARD -s 192.168.0.$i -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT
done
echo ""
#далее фильтр. порты

Вопрос, насколько такая схема правильная?
Gentoo/***

_________
BRGDS!
Спасибо сказали:
Аватара пользователя
Kataklysm
Сообщения: 280
ОС: Linux Suse 10.2-10.3 Sles-10.1

Re: Маскарадинг на несколько адресов

Сообщение Kataklysm »

VadimD писал(а):
29.05.2008 12:27
Доброе время суток.
Подскажите пожалуйста, как организовать маскарадинг не на всю сеть, а на несколько адресов.
На данный момент есть ppp0 и eth0 с сеткой 192.168.0.0/24, организовано все таким образом:

Код: Выделить всё

#!/bin/sh
 IPT='/sbin/iptables'
 EXTIF=ppp+
 $IPT -F
 $IPT -X
 /bin/echo 1 > /proc/sys/net/ipv4/ip_forward
 #  маскарадинг только для 192.168.0.60(пробел)192.168.0.61 и т.д.
 for i in 200 60 61 62 63 64 65 66 67 68 69 70;
 do
 echo -n "Masquerading 192.168.0.$i"
 echo ""
 $IPT -t nat -A POSTROUTING -s 192.168.0.$i -o $EXTIF -j MASQUERADE
 $IPT -A FORWARD -s 192.168.0.$i -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT
 done
 echo ""
 #далее фильтр. порты

Вопрос, насколько такая схема правильная?


#!/bin/bash
#nat rules for inet
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQUERADE
Спасибо сказали:
Аватара пользователя
VadimD
Сообщения: 90

Re: Маскарадинг на несколько адресов

Сообщение VadimD »

Мне не нужно для всей сети 192.168.0.0/24, вся сеть ходит через прокси, мне нужно только для этих 12 адресов.
60-70 это диапазон dhcp для быстрого вывода в инет любого компа, и 200-му нужно именно нат.
Gentoo/***

_________
BRGDS!
Спасибо сказали:
Аватара пользователя
Kataklysm
Сообщения: 280
ОС: Linux Suse 10.2-10.3 Sles-10.1

Re: Маскарадинг на несколько адресов

Сообщение Kataklysm »

VadimD писал(а):
29.05.2008 12:54
Мне не нужно для всей сети 192.168.0.0/24, вся сеть ходит через прокси, мне нужно только для этих 12 адресов.
60-70 это диапазон dhcp для быстрого вывода в инет любого компа, и 200-му нужно именно нат.


Тогда попробуй так: iptables -t nat -A POSTROUTING -s 192.168.0.60-192.168.0.70,192.168.0.200 -d 0.0.0.0/0 -j MASQUERADE
Спасибо сказали:
Аватара пользователя
VadimD
Сообщения: 90

Re: Маскарадинг на несколько адресов

Сообщение VadimD »

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

Код: Выделить всё

#!/bin/sh

IPT='/sbin/iptables'
EXTIF=ppp+

/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

COMBLOCK="0:1 13 98 111 137:139 161:162 445 1214 1999 2049 3049 4329 6346 3128 8000 8008 8080 12345 65535"
TCPBLOCK="$COMBLOCK 98 512:515 1080 6000:6009 6112"
UDPBLOCK="$COMBLOCK 161:162 520 517:518 1427 9000 9 6346 3128 8000 8008 8080 12345 65535"

CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null`
for i in $CHAINS
do
$IPT -t $i -F
done
for i in $CHAINS
do
$IPT -t $i -X
done

#  маскарадинг только для 192.168.0.60(пробел)192.168.0.61 и т.д.
for i in 60 61 62 63 64 65 66 67 68 69 70 200; #легко добавить-удалить любого
do
echo -n "Masquerading 192.168.0.$i"
echo ""
$IPT -t nat -A POSTROUTING -s 192.168.0.$i -o $EXTIF -j MASQUERADE
$IPT -A FORWARD -s 192.168.0.$i -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT
done
echo ""

$IPT -N DROPl   2> /dev/null
$IPT -A DROPl -m limit --limit 3/minute --limit-burst 10 -j LOG --log-prefix 'FIREWALL DROP BLOCKED:'
$IPT -A DROPl   -j DROP

$IPT -A INPUT -i $EXTIF -p tcp --syn -j DROPl
$IPT -A INPUT -i $EXTIF -p icmp --icmp-type echo-request -j DROPl

echo -n "FW: Blocking attacks to TCP port"
for i in $TCPBLOCK;
do
 echo -n "$i "
  $IPT -A INPUT -i $EXTIF -p tcp --dport $i  -j DROP
  $IPT -A OUTPUT -o $EXTIF -p tcp --dport $i  -j DROP
  $IPT -A FORWARD -o $EXTIF -p tcp --dport $i  -j DROP
done
echo ""
echo ""
echo -n "FW: Blocking attacks to UDP port "
for i in $UDPBLOCK;
do
 echo -n "$i "
   $IPT -A INPUT -i $EXTIF -p udp --dport $i  -j DROP
   $IPT -A OUTPUT -o $EXTIF -p udp --dport $i  -j DROP
   $IPT -A FORWARD -o $EXTIF -p udp --dport $i  -j DROP
done
echo ""
Gentoo/***

_________
BRGDS!
Спасибо сказали: