Форум на Kuban.ru (http://forums.kuban.ru/)
-   Сети и их администрирование (http://forums.kuban.ru/f1029/)
-   -   помогите если у кого есть готовым решением iptables =)) (http://forums.kuban.ru/f1029/pomogite_esli_u_kogo_est-_gotovym_resheniem_iptables_%3D-3022070.html)

romasav13N 04.09.2012 16:25

помогите если у кого есть готовым решением iptables =))
 
Есть шлюз на debian linux помогите с решением iptables, как сделать так что бы:

1) Все входящие соединения с WAN на LAN были закрыты

2) Доступ к удаленному рабочему столу через openvpn ОСУЩЕСТВЛЯЛСЯ ТОЛЬКО ПО MAC адресу

3) Подключить второго провайдера

Flukostat 04.09.2012 17:30

1. Выкинуть дебизьяний шлюз наф
2. Купить за 1500 аппаратный д-линковский шлюз. Настроить требуемое через вебморду или прилагаемым к шлюзу мастером.

Tem 04.09.2012 18:26

1-Flukostat > за 1500 можно ченить из микротиков прикупить

Flukostat 04.09.2012 18:37

одна малина

droidman 04.09.2012 21:02

Я бы посоветовал смотреть не в сторону iptables (оно для начального уровня сурово), а к надстройке (точнее генератору правил) - Shorewall.

lithium 04.09.2012 22:04

я бы посоветовал смотреть в сторону [url]http://www.opennet.ru/docs/RUS/iptables/[/url] , но автору надо чтобы оно само все настроилось, тут единственный вариант чтобы кто-то пришел и бесплатно все сделал.

romasav13N 05.09.2012 14:05

Спасибо всем за внимание к моей теме!!!
Вот мое правило почему не работает доступ по MAC
Как все запретить кроме того, что у меня сейчас работает =)), когда ставлю в iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP все перестает работать =)))
#!/bin/sh
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

export LAN=eth2
export WAN=eth1
export WAN1=eth0

iptables -I INPUT 1 -i ${LAN** -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A INPUT -p UDP --dport bootps -i ${LAN** -j REJECT
iptables -A INPUT -p UDP --dport domain -i ${LAN** -j REJECT

iptables -A INPUT -p TCP -i ${LAN** -d 0/0 --dport 0:1023 -j DROP
iptables -A INPUT -p UDP -i ${LAN** -d 0/0 --dport 0:1023 -j DROP

iptables -I FORWARD -i ${LAN** -d x.x.x.x/255.255.255.0 -j DROP
iptables -A FORWARD -i ${LAN** -s x.x.x.x/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i ${WAN** -d x.x.x.x/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i eth2 -o tun0 -s x.x.x.x -m mac --mac-source x:x:x:x:x:x -j ACCEPT #manager
iptables -A FORWARD -i eth2 -o tun0 -s x.x.x.x -m mac --mac-source x:x:x:x:x:x -j ACCEPT #manager
iptables -A FORWARD -i eth2 -o tun0 -s x.x.x.x -m mac --mac-source x:x:x:x:x:x -j ACCEPT #manager
iptables -A FORWARD -i eth2 -o tun0 -s x.x.x.x -m mac --mac-source x:x:x:x:x:x -j ACCEPT #manager
#iptables -A FORWARD -i tun0 -d x.x.x.x/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i tun1 -d x.x.x.x/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i ${WAN1** -d x.x.x.x/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN** -j MASQUERADE
iptables -t nat -A POSTROUTING -o ${WAN1** -j MASQUERADE
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
iptables -t nat -A PREROUTING -s x.x.x.x/24 -p tcp -m multiport --dport 80 -j REDIRECT --to-port 3128

Заранее всем спасибо!!!

Flukostat 05.09.2012 15:26

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

gloomymen 05.09.2012 17:38

[em]почему не работает доступ по MAC[/em]
потому что tun разный
политику безусловно в drop
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#export не нужен
LAN=eth2
WAN=eth1
WAN1=eth0
WANIP0=1.2.3.4
WANIP1=2.3.4.5
INTIP0=3.4.5.6
INTNET0=1.2.3.0/24
# INPUT
iptables -A INPUT -j ACCEPT -i lo
iptables -A INPUT -j DROP -p tcp ! --syn -m state --state NEW
iptables -A INPUT -j ACCEPT -i $LAN -m state --state ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -i $WAN -m state --state ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -i $WAN1 -m state --state ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -i $LAN -p tcp --syn --dport 22
#далее по потребностям

# OUTPUT
iptables -A OUTPUT -j ACCEPT -o lo
iptables -A OUTPUT -j ACCEPT -o $LAN -s $INTIP0
iptables -A OUTPUT -j ACCEPT -o $WAN -s $WANIP0
iptables -A OUTPUT -j ACCEPT -o $WAN1 -s $WANIP1

# FORWARD
#это для красоты
iptables -A FORWARD -j DROP -s 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
iptables -A FORWARD -j DROP -p tcp ! --syn -m state --state NEW
iptables -A FORWARD -j DROP -p tcp -m state --state INVALID
#/EndOfКрасота
iptables -A FORWARD -j ACCEPT -i $tunX -o $LAN -d $INTNET0 -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -i $LAN -o $tunX -s $INTNET0 -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -i $LAN -o $tunX -s x.x.x.x -m max --mac-source x:x:x:x:x:x
#tunX где X правильный номер, или $tun+

gloomymen 05.09.2012 17:41

в последнем правиле очепятка
"[em]-m max[/em]"="-m mac"

romasav13N 11.09.2012 16:42

Не работает! =((
Наверное изначально не правильно сообщил:
у меня сеть из 13 компов + 1 прозрачный прокси сервер на котором развернут шлюз(2ва VPN канала один из которых для удаленного рабочего стола к которому и нужен доступ по MAC; подключены два провайдера один стабильный, а другой для скачивания и всего остального, соответственно если один отвалится то переходит на другой) который должен быть закрыт из вне а и открыт доступ по своему ssh порту.

romasav13N 11.09.2012 16:46

При применении скрипта который выше происходит следующее:
с сервера пингуется и интернет и компы в сети (хорошо!!), но с остальных компов сервер не пингуется и соответственно нет интернета

droidman 11.09.2012 17:11

логично, чё)
По правилам выше, LAN-клиенты с определённым(и) MAC-адресами могут общаться только с VPN (очевидно там нет интернета), а также сервер нельзя пинговать вообще никому, только из LAN заходить по ssh (22й порт) =)

Учитывая наличие прозрачного прокси (т.е. это REDIRECT дето в iptables и про него тоже не надо забывать), двух каналов (в режиме failover) и двух VPN-ов - правила как бы будут слегка иными.

gloomymen 11.09.2012 20:36

10-savR > [em]Не работает! =(([/em]
если вы воспроизводили правила 1=1, то есть еще одна очепятка, очевидная для понимающих и незаметная для ничего незнающих
везде где $[b]tunX[/b], знак доллара не нужен, т.е. tun[b]X[/b], tun0 tun1 и т.д. вместо X подставить правильную цифирь

romasav13N 12.09.2012 08:36

До MAC'ов я не дошел, т.к. решил сначала без них проверить доступ всех машин к интернету и к удаленке сделав во это:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#export не нужен
LAN=eth2
WAN=eth1
WAN1=eth0
WANIP0=1.2.3.4
WANIP1=2.3.4.5
INTIP0=3.4.5.6
INTNET0=1.2.3.0/24
# INPUT
iptables -A INPUT -j ACCEPT -i lo
iptables -A INPUT -j DROP -p tcp ! --syn -m state --state NEW
iptables -A INPUT -j ACCEPT -i $LAN -m state --state ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -i $WAN -m state --state ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -i $WAN1 -m state --state ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -i $LAN -p tcp --syn --dport 22
#далее по потребностям

# OUTPUT
iptables -A OUTPUT -j ACCEPT -o lo
iptables -A OUTPUT -j ACCEPT -o $LAN -s $INTIP0
iptables -A OUTPUT -j ACCEPT -o $WAN -s $WANIP0
iptables -A OUTPUT -j ACCEPT -o $WAN1 -s $WANIP1

# FORWARD
#это для красоты
iptables -A FORWARD -j DROP -s 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
iptables -A FORWARD -j DROP -p tcp ! --syn -m state --state NEW
iptables -A FORWARD -j DROP -p tcp -m state --state INVALID
После применения ни у кого кроме сервера интернета не было!
Может я тут напутал?
WANIP0= ip первого провайдера
WANIP1= ip второго провайдера
INTIP0= ????
INTNET0=1.2.3.0/24 диапазон

romasav13N 24.05.2013 09:40

тема закрыта


Текущее время: 14:28. Часовой пояс GMT +3.