Настройка IPFW ADSL bridge
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Настройка IPFW ADSL bridge
Здравствуйте!!
Помогите мне мне настроить фаервол !!! А то вторй день мучаюсь
Есть сервер ФРЯ в нем 2 сетевухи одна в локальную сеть RL1(192.168.0.254 и 192.168.1.254 два адреса) а вторая RL0(192.168.2.2) включена в АДСЛ модем (модем в режиме бриджа 192.168.2.1). Сервер поднимает ПППоЕ tun0 и получает реальный IP но динамический. Примерно раз в сутки Укртелеком обрывает связь и после востановления ПППоЕ tun0 получает новый реальный IP .
Роль сервера : на нем поднят Сквид и идет раздача инета , Поднят Апач, Почта, ДНС, пользователь локальный 192.168.1.100 должен иметь доступ к внешнему РОР3 и СМТП, также разрешон доступ извне для SSH
Подскажите как настроить правильно IPFW при динамическом IP tun0. А лучше всего Выложите свои правила по возможности с комментариями.
Спасибо за помощь
Помогите мне мне настроить фаервол !!! А то вторй день мучаюсь
Есть сервер ФРЯ в нем 2 сетевухи одна в локальную сеть RL1(192.168.0.254 и 192.168.1.254 два адреса) а вторая RL0(192.168.2.2) включена в АДСЛ модем (модем в режиме бриджа 192.168.2.1). Сервер поднимает ПППоЕ tun0 и получает реальный IP но динамический. Примерно раз в сутки Укртелеком обрывает связь и после востановления ПППоЕ tun0 получает новый реальный IP .
Роль сервера : на нем поднят Сквид и идет раздача инета , Поднят Апач, Почта, ДНС, пользователь локальный 192.168.1.100 должен иметь доступ к внешнему РОР3 и СМТП, также разрешон доступ извне для SSH
Подскажите как настроить правильно IPFW при динамическом IP tun0. А лучше всего Выложите свои правила по возможности с комментариями.
Спасибо за помощь
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Настройка IPFW ADSL bridge
полно на форуме
ищите
ищите
-
- проходил мимо
Re: Настройка IPFW ADSL bridge
Убире адрес с сетевухе каторая смотрит в модем вообще...
и в фаерволе нечего про неё не указывай а строй конфиу на основе tun0
вот пример скромно но запреты сам выставишь
и в фаерволе нечего про неё не указывай а строй конфиу на основе tun0
вот пример скромно но запреты сам выставишь
Код: Выделить всё
#!/bin/sh
ipfw="/sbin/ipfw"
LanOut="tun0"
NetOut="0/32"
IpOut="x.x.x.x" // параметр не обезательный сматря какие цели
LanIn1="vr0"
NetIn="192.168.1.0/24"
${ipfw} -f flush
${ipfw} add 130 deny ip from any to ${IpOut} 21,22,135-139,443,445 via ${LanOut} // здеть тоже ip необезательно
${ipfw} add 200 allow ip from any to any via lo0
${ipfw} add 300 deny ip from ${NetIn} to any in via ${LanOut}
${ipfw} add 310 deny ip from ${NetOut} to any in via ${LanIn1}
${ipfw} add 1200 allow ip from any to any via ${LanIn1}
${ipfw} add 65535 deny ip from any to any
-
- проходил мимо
Re: Настройка IPFW ADSL bridge
Спасибо за ответ!!
Идею понял
Однозначно так и сделаю. Как я понял
LanOut="tun0" интерфейс ПППоЕ
NetOut="0/32" диапозон
LanIn1="vr0" интерфейс карты в локальную сеть
NetIn="192.168.1.0/24" адресное пространство локальной сети
вопрос
IpOut="x.x.x.x" это адрес ПППоЕ но он динамичный, я же незнаю каким он будет, как я могу его прописать? У меня на сервере поднят DyDNS но он сопоставляет мой IP и мое доменное имя (DyDNS) только после поднятия ПППоЕ и то намного подже минуты через 3-4.
И как быть если провайдер раз в сутки рвет ПППоЕ и после востановления связи у меня новый Адрес, как сделать чтоб правила обновлялись если внешний IP изменился
В принципе задача довольно таки типичная (просто я пока ламер)
Но хотелось бы еще примеров.
Идею понял
Однозначно так и сделаю. Как я понял
LanOut="tun0" интерфейс ПППоЕ
NetOut="0/32" диапозон
LanIn1="vr0" интерфейс карты в локальную сеть
NetIn="192.168.1.0/24" адресное пространство локальной сети
вопрос
IpOut="x.x.x.x" это адрес ПППоЕ но он динамичный, я же незнаю каким он будет, как я могу его прописать? У меня на сервере поднят DyDNS но он сопоставляет мой IP и мое доменное имя (DyDNS) только после поднятия ПППоЕ и то намного подже минуты через 3-4.
И как быть если провайдер раз в сутки рвет ПППоЕ и после востановления связи у меня новый Адрес, как сделать чтоб правила обновлялись если внешний IP изменился
В принципе задача довольно таки типичная (просто я пока ламер)
Но хотелось бы еще примеров.
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Настройка IPFW ADSL bridge
В место него можно указать диапозон адресов например 94.220.0.0/16 это значит (94.22.0.0 - 94.220.255.254 )
или 94.220.53.0/24 ( 94.220.53.0-94.220.53.254) маска разная в зависимости от диапазона выдаваемых адресов
или 94.220.53.0/24 ( 94.220.53.0-94.220.53.254) маска разная в зависимости от диапазона выдаваемых адресов
... Да освятится имя твое и pасшиpение твое, Господи...
- Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Настройка IPFW ADSL bridge
раз в минуту, по планировщику
несколько раз в сутки делаю так
сервер необслуживаемый, стоит на антресолях.
три месяца - полёт нормальный.
писалось на скору руку.
Код: Выделить всё
p3-800# more /root/scripts/get.address.sh
#!/bin/sh
tmp="/tmp/$$.txt"
ip_file="/tmp/ip.txt"
old_ip_file="/tmp/ip.old.txt"
mask_file="/tmp/mask.txt"
fake_file="/tmp/ip.fake.txt"
iface="em0"
/sbin/ifconfig $iface | /usr/bin/grep inet | /usr/bin/awk '{print $2}' > $tmp
if test -s $tmp
then
cat $tmp > $ip_file
# ip addresses logging
date=`/bin/date "+%Y-%m-%d %H:%M:%S"`
ip="`cat $tmp`"
echo $date $ip >> /root/scripts/ip.addresses.logging.txt
/sbin/ifconfig $iface | /usr/bin/grep inet | /usr/bin/awk '{print $4}' > $mask_file
/usr/bin/touch $old_ip_file
# diff old and new file
/usr/bin/diff $ip_file $old_ip_file >/dev/null
if [ x$? = x1 ]
then
# copy new file to old
cp $ip_file $old_ip_file
# restart firewall if address != 0.0.0.0
if [ `cat $ip_file` != "0.0.0.0"
then
sh /etc/rc.firewall.main
fi
fi
# delete fake file
rm -f $fake_file
else
# no IP addresses - set fake address
if test ! -f $fake_file
then
echo 1.1.1.1 > $ip_file
echo 255.255.255.255 > $mask_file
sh /etc/rc.firewall.main
rm -f $ip_file
echo 1.1.1.1 > $fake_file
fi
fi
rm -f $tmp
Код: Выделить всё
p3-800# cat /etc/rc.firewall.main
#!/bin/sh
# vvodim peremennie:
FwCMD="/sbin/ipfw"
LanOut="em0"
LanIn="em1"
LanWiFi="ath0"
LanTunnel="gif0"
#IpOut="10.21.64.215"
IpOut="`cat /tmp/ip.txt`"
IpIn="192.168.254.254"
NetMask="24"
NetIn="192.168.254.0"
#NetOut="10.21.64.0"
NetOut="$IpOut/`cat /tmp/mask.txt`"
NetInWiFi="192.168.253.0"
# rule top for natd
TopRule="2300"
# disable
${FwCMD} disable firewall
# sbrasivaem ranee ustanowlennie prawila:
${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush
${FwCMD} -f table 0 flush
####### DUMMYNET ###################
#${FwCMD} add pipe 1 ip from me 21 to any
#${FwCMD} pipe 1 config bw 1000000
#${FwCMD} add pipe 2 ip from ${IpIn} to ${NetIn}/${NetMask}
#${FwCMD} pipe 2 config bw 1000Mbit/s
#${FwCMD} add pipe 3 ip from ${NetIn}/${NetMask} to me
#${FwCMD} pipe 3 config bw 1000Mbit/s
# `спецтруба` для мелкиз пакетов типа ack - ибо если они теряются
#${FwCMD} add pipe 4 ip from any to any tcpflags ack iplen 0-128
#${FwCMD} pipe 4 config bw 1000Mbit/s
# Пропускаем следующие трубы - чтобы мелкие пакеты не лимитировались
#${FwCMD} add skipto 39999 ip from any to any tcpflags ack iplen 0-128
# От глюков при работе с серваком изнутри по внешнему имени (траффик в трубы лезет)
#${FwCMD} add skipto 39999 ip from me to any
#${FwCMD} add skipto 39999 ip from any to me
# Рубаем самому себе инет - слишком быстно - плохо...
#${FwCMD} add pipe 5 ip from not ${NetIn}/24 to ${NetIn}/24
#${FwCMD} pipe 5 config bw 1280000bit/s
# WiFi
# proveryaem vremennie pravila:
${FwCMD} add check-state
# razreschaem vnutrenniy interfeys
${FwCMD} add allow ip from any to any via lo0
# rulezz for sshit table
${FwCMD} add deny not icmp from "table(0)" to me
# ipsec
${FwCMD} add pass esp from 192.168.253.253 to me via ${LanWiFi}
${FwCMD} add pass esp from me to 192.168.253.253 via ${LanWiFi}
${FwCMD} add pass log udp from 192.168.253.253 500 to me 500 via ${LanWiFi}
${FwCMD} add pass log udp from me 500 to 192.168.253.253 500 via ${LanWiFi}
#${FwCMD} add pass all from any to any via ${LanTunnel}
#${FwCMD} add allow ip from 80.253.9.18 to ${IpOut} via ${LanTunnel}
#${FwCMD} add allow ip from ${IpOut} to 80.253.9.18 via ${LanTunnel}
#${FwCMD} add allow ipencap from ${IpOut} to 80.253.9.18
#${FwCMD} add allow ipencap from 80.253.9.18 to ${IpOut}
#${FwCMD} add allow udp from ${IpOut} to 80.253.9.18 isakmp
#${FwCMD} add allow udp from 80.253.9.18 to ${IpOut} isakmp
#${FwCMD} add allow esp from ${IpOut} to 80.253.9.18
#${FwCMD} add allow esp from 80.253.9.18 to ${IpOut}
#${FwCMD} add allow ip from any to any via ${LanTunnel}
#${FwCMD} add allow ip from 192.168.11.0/${NetMask} to any via ${LanTunnel}
#${FwCMD} add allow ip from 192.168.0.0/16 192.168.11.0/${NetMask} via ${LanTunnel}
# zapres4aem:
${FwCMD} add deny log ip from 192.168.0.0/16 to any in via ${LanOut}
${FwCMD} add deny log ip from 172.16.0.0/12 to any in via ${LanOut}
#${FwCMD} add deny ip from 10.0.0.0/8 to any in via ${LanOut}
#${FwCMD} add deny ip from any to ${NetIn}/${NetMask} via ${LanOut}
${FwCMD} add deny log tcp from any to any 135-140 via ${LanOut}
${FwCMD} add deny log tcp from any 135-140 to any via ${LanOut}
${FwCMD} add deny log tcp from any 445 to any via ${LanOut}
${FwCMD} add deny tcp from any to ${IpOut} 21 via ${LanOut}
${FwCMD} add deny log tcp from any to ${IpOut} 144-1026 via ${LanOut}
${FwCMD} add deny log tcp from any 3000-3001 to any via ${LanOut}
${FwCMD} add deny log tcp from any to any 3000-3001 via ${LanOut}
${FwCMD} add deny log tcp from any to ${IpOut} 3306 via ${LanOut}
# established connections on external interface
${FwCMD} add allow tcp from me to any established via ${LanOut}
# otprawlyaem vseh na SQUID:
#${FwCMD} add fwd 192.168.254.254,2121 tcp from ${NetIn}/${NetMask} to any 21 via ${LanOut}
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn}/${NetMask} to any 80 via ${LanOut}
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetInWiFi}/${NetMask} to any 80 via ${LanOut}
#${FwCMD} add fwd 127.0.0.1,3128 tcp from 192.168.252.253 to any 90 via ${LanOut}
########## NATD #########
# пропускаем - может прокатит для ftp...
#${FwCMD} add skipto ${TopRule} tcp from me 21 to any out via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from ${NetInWiFi}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from 192.168.252.0/24 to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
# разрешаем инет посторонним
${FwCMD} add allow ip from any to not me via ${LanWiFi}
${FwCMD} add allow ip from not me to any via ${LanWiFi}
${FwCMD} add allow udp from any to me 53 via ${LanWiFi}
${FwCMD} add allow udp from me 53 to any via ${LanWiFi}
${FwCMD} add allow tcp from any to not me via ${LanWiFi}
${FwCMD} add allow tcp from not me to any via ${LanWiFi}
########## VPN ###################
#${FwCMD} add allow tcp from any to any 1723 # ампутировано, т.к. мешает
#${FwCMD} add allow tcp from any 1723 to any # работе VPN изнутри
${FwCMD} add allow gre from any to any via ${LanOut}
${FwCMD} add allow gre from any to any via ${LanIn}
${FwCMD} add allow gre from any to any via ${LanTunnel}
#############################################################################
${FwCMD} add allow tcp from any to any established # on all interfaces
${FwCMD} add allow ip from me to any out xmit ${LanOut}
${FwCMD} add allow udp from any 53 to any via ${LanOut}
${FwCMD} add allow udp from any 123 to any via ${LanOut}
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
#${FwCMD} add allow tcp from any to ${IpOut} 80 via ${LanOut}
#${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 22,22022 via ${LanOut}
${FwCMD} add allow udp from any to me 161
#${FwCMD} add allow tcp from any to ${IpOut} 143 via ${LanOut}
#${FwCMD} add allow tcp from any to ${IpOut} 110 via ${LanOut}
${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow tcp from any to any via ${LanTunnel}
${FwCMD} add allow udp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanTunnel}
${FwCMD} add allow icmp from any to any via ${LanIn}
${FwCMD} add allow icmp from any to any via ${LanTunnel}
#${FwCMD} add allow tcp from any to ${IpOut} 21 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 40000-65534 via ${LanOut}
# добавлено для ipnat
#${FwCMD} add allow tcp from ${NetIn}/${NetMask} to any setup
${FwCMD} add 65534 deny log all from any to any
${FwCMD} enable firewall
Код: Выделить всё
# restart firewall
6 */2 * * * /bin/sh /etc/rc.firewall.main >/dev/null 2>&1
три месяца - полёт нормальный.
писалось на скору руку.
Убей их всех! Бог потом рассортирует...
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Настройка IPFW ADSL bridge
у меня ipnat и без этой строки работает , смысел её?
# добавлено для ipnat
#${FwCMD} add allow tcp from ${NetIn}/${NetMask} to any setup
... Да освятится имя твое и pасшиpение твое, Господи...
-
- рядовой
- Сообщения: 42
- Зарегистрирован: 2009-10-25 2:26:03
Re: Настройка IPFW ADSL bridge
что-то вы забыли про ppp.linkup и ppp.linkdown
в этих файлах можно прописать скрипт, который будет выполняться каждый раз при поднятии/упадка tun0
ну а в том скрипте, просто обновлять правила фаервола. С нужными IP
в этих файлах можно прописать скрипт, который будет выполняться каждый раз при поднятии/упадка tun0
ну а в том скрипте, просто обновлять правила фаервола. С нужными IP