Здравствуйте) есть шлюз с белым ip.
1. Хочу)) все-все закрыть и пускать на шлюз только 2 хоста (и внутрь всякие винды по RDP форвардингом)
2. Выпускать всех только по разрешенному списку портов.
и Да, у меня ничего не работает (не могу войти через putty с ip: 192.168.0.65 на 192.168.0.254:22)
вот что я чудо наделал: root@gw5:~# cat /root/iptables.test.rulesПоказать
#!/bin/bash
# ******************************************************** Define variables
#
# list of allowed hosts
IMEX="80.247.XX.XXX" # allowed_machine1 (white_provider_IP)
AVANTEL="109.202.X.XXX" # allowed_machine2 (white_provider_IP)
DEBUG="192.168.0.65"
# FG="79.122.XXX.XX" # this_machine_white_provider_IP(WAN)
FG="192.168.0.254" #debug
#
EXT_PORTS="22,3333,3335,3336,5555,6666,8080,9998" # accesible WAN port
INT_PORTS="25,53,80,110,143,443,445,1024,2041,2042,5060,5190,11024" # accessible LAN ports
T_PORT="3389" # target port for terminals RDP
#
IPT="/sbin/iptables" # iptables location
EXT_IF="eth0" # external WAN interface
INT_IF="eth1" # internal LAN interface
# ******************************************************* End v. defenition
#
echo "\n\tIPTABLES MODIFICATION STARTED\n"
# flashing all rules (twice and separate - to be sure)
$IPT -F && $IPT -t mangle -F && $IPT -t nat -F && $IPT -t filter -F && $IPT -F && echo " - all rules was flushed"
#
# Allow loopback traffic
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT && echo " - local traffic allowed"
#
# Allow packets of established and related connections
$IPT -A INPUT -i $EXT_IF -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # WAN
$IPT -A INPUT -i $INT_IF -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # LAN
echo " - inside initialized connections allowed"
#
# allow Internet access to DEFINED PORTS on external(WAN)interface for DIFENED hosts
$IPT -A INPUT -i $EXT_IF -p tcp -s $IMEX,$AVANTEL,$DEBUG -m multiport --dport $EXT_PORTS -j ACCEPT && echo " - hosts "$IMEX" and "$AVANTEL" added to TRUSTED"
#
# allow NAT (WAN > - - -GATEWAY- - - > LAN) RDP protocol
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3333 -j DNAT --to-destination 192.168.1.250:$T_PORT # RTS
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3335 -j DNAT --to-destination 192.168.1.4:$T_PORT # MAV
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3336 -j DNAT --to-destination 192.168.1.2:$T_PORT # RDC1
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 5555 -j DNAT --to-destination 192.168.1.232:$T_PORT # buh-sh
echo " - RDP NAT activated"
#
# Set default policy to DROP ALL
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP && echo " - polycy drop ALL(exclude upper rules) aplied"
#
# port forwarding ()
echo "\n\tIPTABLES MODIFICATION COMPLETED\n"
#
прошу помощи со скриптом iptables для шлюза
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
А разрешающие правила только для ветки INPUT.
#!/bin/bash
# ******************************************************** Define variables
#
IMEX="80.247.XX.XXX" # allowed_machine1 (white_provider_IP)
AVANTEL="109.202.X.XXX" # allowed_machine2 (white_provider_IP)
DEBUG="192.168.0.65"
FG="192.168.0.254" #debug
#
EXT_PORTS="22,3333,3335,3336,5555,6666,8080,9998" # accesible WAN port
INT_PORTS="25,53,80,110,143,443,445,1024,2041,2042,5060,5190,11024" # accessible LAN ports
T_PORT="3389" # target port for terminals RDP
#
IPT="/sbin/iptables" # iptables location
EXT_IF="eth0" # external WAN interface
INT_IF="eth1" # internal LAN interface
# ******************************************************* End v. defenition
#
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
$IPT -t mangle -F
$IPT -t nat -F
$IPT -t filter -F
$IPT -F
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# Allow packets of established and related connections
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # WAN
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # LAN
$IPT -A INPUT -i $INT_IF -p all -s $YOUR_NETWORK -j ACCEPT
$IPT -A INPUT -i $EXT_IF -p tcp -s $IMEX,$AVANTEL,$DEBUG -m multiport --dport $EXT_PORTS -j ACCEPT
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3333 -j DNAT --to-destination 192.168.1.250:$T_PORT # RTS
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3335 -j DNAT --to-destination 192.168.1.4:$T_PORT # MAV
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3336 -j DNAT --to-destination 192.168.1.2:$T_PORT # RDC1
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 5555 -j DNAT --to-destination 192.168.1.232:$T_PORT # buh-sh
Вот так лучче выглядит. Ну и я добавил правило которое даёт доступ для всей вашей локальной сети к серваку. Такое же нужно и на OUTPUT.
спасибо, добавлю OUTPUT и FORWARD. :)А разрешающие правила только для ветки INPUT.
Вот так?Такое же нужно и на OUTPUT.
MY_NW1="192.168.1.0/24"
#
$IPT -A INPUT -i $INT_IF -p $INT_PORTS -s $MY_NW1 -j ACCEPT
$IPT -A OUTPUT -i $INT_IF -p $INT_PORTS -s $MY_NW1 -j ACCEPT
Можете для начала поставить политику OUTPUT в ACCEPT. Для быстроты настройки. Видь если трафик попал к вам на сервак, то пускай и уходит куда надо. А INPUT настройте по всей строгости админских законов. ]:-> Так будет попроще. Если всё закрутитса как надо потом и OUTPUT поправите.
Не
-p $INT_PORTSа
-m multiport --destination-port $INT_PORTSДа, наверное..)) По-хорошему бы в $MY_NW1 все завотачивать на http_port 192.168.1.1:3128, в $MY_NW2 - http_port 192.168.2.1:3128 )) (Сквид не прозрачный)Можете для начала поставить политику OUTPUT в ACCEPT.
И похоже это нормально что после $IPT -F все маршруты пропадают.(( Вост. только ребутом..
kisil, а ну да!)))
MY_NW1="192.168.1.0/24"
#
$IPT -A INPUT -i $INT_IF -m multiport --dport $INT_PORTS -s $MY_NW1 -j ACCEPT
$IPT -A OUTPUT -i $INT_IF -m multiport --dport $INT_PORTS -s $MY_NW1 -j ACCEPT
Так что то до конца не понятно. Так нужно пускать тока на squid'а или ещё на какието то порты. Опишыте нормально задание!
На "Ты" pls.) Мое ТЗ звучало так:Опишыте нормально задание!
Общие фичи:
1. На шлюзе должен считаться весь http трафик кроме почты" (т.к. сквид это не умеет - иные протоколы smtp / pop3)
2. Все что прокси может посчитать - завернуть принудительно, либо с пом. прозрачного проксирования - отпадает т.к. https:443 в режиме "intercept" не заведешь)
Как я понимаю, если принудительно не заворачивать на 3128 - юзеры ЛС поломятся напрямую и потратят неучтенный траф, если порты не прикрыть.. Тут у меня и вышл(о/а)
Теперь не пойму как лучше сделать..
3. Определенные "ViP ip" пускать ALL через NAT.
Так тебе нужно считать весь трафик кроме почты????И выстявлять лимиты или тока считать???
Ну для считалки Ulog, netams.
Но щас проблема в том что кто то не может попасть на сервак?? Верно?
Так что щас не работает?
Весь какой возможно с пом. Сквида (исключая почту - она NAT)Так тебе нужно считать весь трафик кроме почты????
Биллинг и нарезка квот squid3 + sams2 + squidguard (связка слажена, отлажена и работает с авторизацией по IP)И выстявлять лимиты или тока считать???
Нет - я бы уже тогда не жил)) В данный момент хилая железка с 1м винтом под управлением MS 2003 server + usergate - оно медлено начинает сдавать свои позиции, отказы участились.. DS: replace to nix на мощной железке с mdraid! в скрипте как раз DEBUG="192.168.0.65" временная мера текущего WAN, в последствии переезд и поменяю на "настоящий".Но щас проблема в том что кто то не может попасть на сервак?? Верно?
в том и трабл - замена в рабочей сети "на горячую" винды на никсы.. уже 2 мес. меняю, а еще почтовый релей поднимать (эт я умею)
в том и трабл - замена в рабочей сети "на горячую" винды на никсы.. уже 2 мес. меняю, а еще почтовый релей поднимать (эт я умею)
Это понятно.
А что щас не работает???
Конкретно.
Допилил до такого вида: $IPT -t mangle -F
$IPT -t nat -F # CLEAR ALL
$IPT -t filter -F
$IPT -F $IPT -A INPUT -i lo -j ACCEPT # ALLOW LOOPBACK TRAFFIC
$IPT -A OUTPUT -o lo -j ACCEPT # Allow packets of established and related connections
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # WAN
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # LAN # Allow IN/OUT connections on trusted ports in LAN
$IPT -A INPUT -i $INT_IF -m multiport --dport $INT_PORTS -s $MY_NW1 -j ACCEPT
$IPT -A OUTPUT -i $INT_IF -m multiport --dport $INT_PORTS -s $MY_NW1 -j ACCEPT # Allow remote access fot trusted IP's
$IPT -A INPUT -i $EXT_IF -p tcp -s $IMEX,$AVANTEL,$DEBUG -m multiport --dport $EXT_PORTS -j ACCEPT # DEBUG (temp var) # RDP port map
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3333 -j DNAT --to-destination 192.168.1.250:$T_PORT # RTS
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3335 -j DNAT --to-destination 192.168.1.4:$T_PORT # MAV
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 3336 -j DNAT --to-destination 192.168.1.2:$T_PORT # RDC1
$IPT -t nat -A PREROUTING -p tcp -d $FG --dport 5555 -j DNAT --to-destination 192.168.1.232:$T_PORT # buh-sh # FLUSHED ROUTE RECOVERY NEEDED HERE !!!!!!!!!!!!!!!
# ip r a default gw $D_GW
service networking stop && service networking startПоказать
#!/bin/bash
# ******************************************************** Define variables
#
IMEX="80.247.XX.XXX" # allowed_machine1 (white_provider1_IP)
AVANTEL="109.202.X.XXX" # allowed_machine2 (white_provider2_IP)
#
DEBUG="192.168.0.65" # Client_PC_betta_tester
#
MY_NW1="192.168.1.0/24" # My NetWork1 on eth1 (add 2nd in future)
FG="192.168.0.254" #debug (replace with WHITE_ip_of_company_F.XX.Group in future)
D_GW="192.168.0.210" # default gateway (edit in future)
#
#
EXT_PORTS="22,3333,3335,3336,5555,6666,8080,9998" # accesible WAN port
INT_PORTS="25,53,80,110,143,443,445,1024,2041,2042,5060,5190,11024" # accessible LAN ports
#
T_PORT="3389" # target Terminals RDP
P_PORT="3128" # target Proxy squid3
#
IPT="/sbin/iptables" # iptables location
#
EXT_IF="eth0" # external WAN interface
INT_IF="eth1" # internal LAN interface
# ******************************************************* End v. defenition
#
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP # DROP ALL
$IPT -P FORWARD DROP
Щас не поднимаются маршруты. т.е. вывод route или ip r - пустая строка. После перезагрузки прописываются, а рестарт сети не помогал..Конкретно.
Нужно запилить в скрипт поднятие маршрутизации с пом. добавления дефолтного шлюза видимо.. $D_GW
Как нету стандартных маршрутов? o_O
После назначения интерфейсу айпи в статической таблице маршрутизацыи должны прописыватса маршруты на целую сеть. Тока дефолтный нужно добавлять ну и уже какието экзотические, когда нужно разрулить сложную топологию сети.
А
netstat -rчто говорит?
Enzo_brn, кстати ответ получил на пошту от меня?
Маршруты были, потом iptables -F и их нестало.. reboot и наместе!)
говорит: wait Monday - go work ((А
netstat -r
что говорит?
2. нет ответа не получал
Послал ЛС.
Как такое правило как
iptables -Fможет очистить таблицу маршрутизацыи.???
Я только что такое проделал у себя и у меня тока скинулись правила из цепочек. Причём тут iptables.
Мистика.