![]() |
помогите если у кого есть готовым решением iptables =)) Есть шлюз на debian linux помогите с решением iptables, как сделать так что бы: 1) Все входящие соединения с WAN на LAN были закрыты 2) Доступ к удаленному рабочему столу через openvpn ОСУЩЕСТВЛЯЛСЯ ТОЛЬКО ПО MAC адресу 3) Подключить второго провайдера |
1. Выкинуть дебизьяний шлюз наф 2. Купить за 1500 аппаратный д-линковский шлюз. Настроить требуемое через вебморду или прилагаемым к шлюзу мастером. |
1-Flukostat > за 1500 можно ченить из микротиков прикупить |
одна малина |
Я бы посоветовал смотреть не в сторону iptables (оно для начального уровня сурово), а к надстройке (точнее генератору правил) - Shorewall. |
я бы посоветовал смотреть в сторону [url]http://www.opennet.ru/docs/RUS/iptables/[/url] , но автору надо чтобы оно само все настроилось, тут единственный вариант чтобы кто-то пришел и бесплатно все сделал. |
Спасибо всем за внимание к моей теме!!! Вот мое правило почему не работает доступ по 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 Заранее всем спасибо!!! |
Вотпля, писанины-то сколько, читать лень. Аффтар,возьми вебморду, поставь в ней пару галок и не иссушай моск. |
[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+ |
в последнем правиле очепятка "[em]-m max[/em]"="-m mac" |
Не работает! =(( Наверное изначально не правильно сообщил: у меня сеть из 13 компов + 1 прозрачный прокси сервер на котором развернут шлюз(2ва VPN канала один из которых для удаленного рабочего стола к которому и нужен доступ по MAC; подключены два провайдера один стабильный, а другой для скачивания и всего остального, соответственно если один отвалится то переходит на другой) который должен быть закрыт из вне а и открыт доступ по своему ssh порту. |
При применении скрипта который выше происходит следующее: с сервера пингуется и интернет и компы в сети (хорошо!!), но с остальных компов сервер не пингуется и соответственно нет интернета |
логично, чё) По правилам выше, LAN-клиенты с определённым(и) MAC-адресами могут общаться только с VPN (очевидно там нет интернета), а также сервер нельзя пинговать вообще никому, только из LAN заходить по ssh (22й порт) =) Учитывая наличие прозрачного прокси (т.е. это REDIRECT дето в iptables и про него тоже не надо забывать), двух каналов (в режиме failover) и двух VPN-ов - правила как бы будут слегка иными. |
10-savR > [em]Не работает! =(([/em] если вы воспроизводили правила 1=1, то есть еще одна очепятка, очевидная для понимающих и незаметная для ничего незнающих везде где $[b]tunX[/b], знак доллара не нужен, т.е. tun[b]X[/b], tun0 tun1 и т.д. вместо X подставить правильную цифирь |
До 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 диапазон |
тема закрыта |
Текущее время: 00:53. Часовой пояс GMT +3. |