Помогите настроить IPTABLES

Здесь обсуждаются все вопросы, не попадающие под другие категории
Аватара пользователя
Dark_Sarmat
Маньяк
Сообщения: 183
Зарегистрирован: 24 мар 2008, 08:26
Откуда: из Минска
Контактная информация:

Помогите настроить IPTABLES

Сообщение Dark_Sarmat »

Народ, прочитал Вашу ствтью на Wiki, но IPTABLES ругается на то что там синтаксис не тот.
Система Linux Debifn RC3
Задача
2 сетевые платы: 1) LAN диапазон ip 192.168.125.1-254
2) WAN IP 172.17.222.X

Задача, нужно чтобы сервер работал в роли маршрутизатора. Из LAN в WAN и обратно бегали пакеты только ping, 1723 и GRE
Остальные порты на WAN можно закрыть.
На LAN сетевухе должно быть доступно все.
Помогите, выложите правила. атио у меня ничего не получается.
Если Админу дать много-много денег, то он построит огромную компьютерную сеть и будет админить для души.

Аватара пользователя
angor
Интересующийся
Сообщения: 40
Зарегистрирован: 22 сен 2007, 12:08
Откуда: Minsk
Контактная информация:

Сообщение angor »

Оракулов тут нет - даю гарантию. Ошибки в студию.

Аватара пользователя
angor
Интересующийся
Сообщения: 40
Зарегистрирован: 22 сен 2007, 12:08
Откуда: Minsk
Контактная информация:

Сообщение angor »

А ваще.. я тут переделал свое.. (сорри, мог ошибиться, но отладить не проблема). Не ругайте, если что упустил.
#!/bin/sh
#(c) ugenk :) fixed by angor

IPTABLES=/sbin/iptables
LAN=192.168.125.0/24
##### set to real ip ######
WAN_IP=172.17.222.X

case "$1" in
start)

echo "Starting firewall"
echo 1 >/proc/sys/net/ipv4/ip_forward
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc


$IPTABLES -A INPUT -i lo -j ACCEPT

####### NAT #######
$IPTABLES -t nat -A POSTROUTING -p 47 -s $LAN -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -p tcp -s $LAN --dport 1723 -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -p icmp -s $LAN -j SNAT --to-source $WAN_IP


echo "Done..."
;;
stop)
echo "Flushing all firewall rules"
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -F
$IPTABLES -F -t nat
;;
restart)
$0 stop
$0 start
;;
reload)
echo "Function not implemented. Use restart instead."
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac

exit 0
я такое обозвал iptables, положил в /etc/init.d/, и сделал нечто типа "update-rc.d iptables defaults". Затем привычно /etc/init.d/iptables start/stop

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Сообщение leave »

Из LAN в WAN и обратно бегали пакеты только ping, 1723 и GRE
и тут же
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
зачем?

Hermit
Неотъемлемая часть форума
Сообщения: 354
Зарегистрирован: 22 сен 2004, 13:47
Откуда: Minsk
Контактная информация:

Сообщение Hermit »

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

iptables -P FORWARD DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i <LAN_IFACE> -p gre -j ACCEPT
iptables -A FORWARD -i <LAN_IFACE> -p tcp --dport 1723 -j ACCEPT
iptables -A FORWARD -i <LAN_IFACE> -p icmp -j ACCEPT
если нужен нат, то еще

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

iptables -t nat -A POSTROUTING -o <WAN_IFACE> -j SNAT --to <WAN_IP>
modprobe ip_nat_pptp

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Dark_Sarmat, вы не просите помощи, вы просите чтобы все сдалели за вас.

я _не_вижу_ описания проблемы.
Если я его тут не увижу - тема отправится в помоку.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
Dark_Sarmat
Маньяк
Сообщения: 183
Зарегистрирован: 24 мар 2008, 08:26
Откуда: из Минска
Контактная информация:

Сообщение Dark_Sarmat »

После отладки и анализа пришел к выводу, что наиболее оптимальным является следующий код:

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

#!/bin/sh
#firewall

IPTABLES=/sbin/iptables
LAN=192.168.125.0/24
##### set to real ip ######
WAN_IP=172.17.222.XXX

case "$1" in
start)

echo "Starting firewall"
echo 1 >/proc/sys/net/ipv4/ip_forward
modprobe ip_nat_pptp


$IPTABLES -A INPUT -i lo -j ACCEPT

####### NAT ####### 
$IPTABLES -t nat -A POSTROUTING -p 47 -s $LAN -j SNAT --to-source $WAN_IP 
$IPTABLES -t nat -A POSTROUTING -p tcp -s $LAN --dport 1723 -j SNAT --to-source $WAN_IP 
$IPTABLES -t nat -A POSTROUTING -p icmp -s $LAN -j SNAT --to-source $WAN_IP 


echo "Done..." 
;; 
stop) 
echo "Flushing all firewall rules" 
$IPTABLES -P INPUT ACCEPT 
$IPTABLES -P FORWARD ACCEPT 
$IPTABLES -F 
$IPTABLES -F -t nat 
;; 
restart) 
$0 stop 
$0 start 
;; 
reload)
echo "Function not implemented. Use restart instead." 
;; 
*) 
echo "Usage: $0 {start|stop|restart}"
;; 
esac 

exit 0
Огромное спасибо за помощ и советы товарищам angor и Hermit
Если хотите, могу угостить пивом. Пишите в личку
Если Админу дать много-много денег, то он построит огромную компьютерную сеть и будет админить для души.

Hermit
Неотъемлемая часть форума
Сообщения: 354
Зарегистрирован: 22 сен 2004, 13:47
Откуда: Minsk
Контактная информация:

Сообщение Hermit »

Dark_Sarmat, при использовании такого скрипта фаервол не будет уничтожать никакие пакеты, просто для pptp и icmp будет выполнятся нат, для остальных пакетов - нет, НО ВСЕ пакеты покинут маршрутизатор.

Аватара пользователя
Dark_Sarmat
Маньяк
Сообщения: 183
Зарегистрирован: 24 мар 2008, 08:26
Откуда: из Минска
Контактная информация:

Сообщение Dark_Sarmat »

а как сделать так, чтобы через маршрутизатор бегали только pptp и imcp пакеты чтобы от провайдера ко мне в сеть никакой лишней дряни не валило и от меня к провайдеру.
Если Админу дать много-много денег, то он построит огромную компьютерную сеть и будет админить для души.

Hermit
Неотъемлемая часть форума
Сообщения: 354
Зарегистрирован: 22 сен 2004, 13:47
Откуда: Minsk
Контактная информация:

Сообщение Hermit »

Dark_Sarmat, см мой пост выше

assd
Интересующийся
Сообщения: 70
Зарегистрирован: 28 май 2008, 20:27

Сообщение assd »

Dark_Sarmat писал(а):а как сделать так, чтобы через маршрутизатор бегали только pptp и imcp пакеты чтобы от провайдера ко мне в сеть никакой лишней дряни не валило и от меня к провайдеру.
Переключить политику цепочки FORWARD - в DROP, т.е. по-умолчанию все будет отбрасываться кроме пакетов подходящих под нижеописанные плавила. И составить список всего, что должно бегать.

т.е. цепочка FORWARD будет иметь следующий вид:

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

$IPTABLES -P FORWARD DROP
$IPTABLES -A FORWARD -m state --state related,established -j ACCEPT
$IPTABLES -A FORWARD -p 47 -s $LAN -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s $LAN --dport 1723 -j ACCEPT
$IPTABLES -A FORWARD -p icmp -s $LAN -j ACCEPT
А вообще, изучите порядок прохождения пакетов http://www.opennet.ru/docs/RUS/iptables ... NGOFTABLES
И узрите узкие места где пакеты можно и нужно брать "за яйца" =)
Последний раз редактировалось assd 04 ноя 2008, 13:44, всего редактировалось 1 раз.

Аватара пользователя
Dark_Sarmat
Маньяк
Сообщения: 183
Зарегистрирован: 24 мар 2008, 08:26
Откуда: из Минска
Контактная информация:

Сообщение Dark_Sarmat »

Линухе почему-то не нравится строчка $IPTABLES -P DROP
Если Админу дать много-много денег, то он построит огромную компьютерную сеть и будет админить для души.

Аватара пользователя
br
Увлекающийся
Сообщения: 105
Зарегистрирован: 30 окт 2005, 04:17

Сообщение br »

Dark_Sarmat писал(а):Линухе почему-то не нравится строчка $IPTABLES -P DROP
Потому что пропущена цепочка, для которой задается полиси. Должно быть `iptables -P INPUT DROP', например.

Hermit
Неотъемлемая часть форума
Сообщения: 354
Зарегистрирован: 22 сен 2004, 13:47
Откуда: Minsk
Контактная информация:

Сообщение Hermit »

FORWARD а данном случае :)

Аватара пользователя
Dark_Sarmat
Маньяк
Сообщения: 183
Зарегистрирован: 24 мар 2008, 08:26
Откуда: из Минска
Контактная информация:

Сообщение Dark_Sarmat »

Ок, утром попробую как работать будет, ато сейчас инет не стоит вырубать.
Если Админу дать много-много денег, то он построит огромную компьютерную сеть и будет админить для души.

Ответить