Kucher2 122 Опубликовано: 2008-04-04 11:08:49 Share Опубликовано: 2008-04-04 11:08:49 FreeBSD 6.2, Squid (принудительный прокси), NAT, STG. Белый внешний IP. Сетка на 50 ПК. Планирую раздавать безлим. Предвижу проблемы с закачками и вообще доступу к внешним ресурсам, потому как внешний IP - один. Брать ещё IP нет возможности. Пытаюсь наладить закачку через прокси. Для того, чтобы совать довнлоадеру список прокси - их надо как-то протестировать. А большинство программ-чекеров делает это посредством пингов. Из внутренней сети пинги наружу не идут (превышен интервал ожидания для запроса), хотя DNS работает - внутренний ПК получает преобразованный символический адрес - в цифровой. С сервера пингуется как Интернет, так и внутренняя сеть - без проблем. Пробовал включать эти правила, не помогает: ${fwcmd} add 300 allow icmp from any to внешний_IP in via внешний_интерфейс icmptype 0,3,4,11,12 ${fwcmd} add 301 allow icmp from внешний_IP to any out via внешний_интерфейс icmptype 3,8,12 ${fwcmd} add 304 allow icmp from внешний_IP to any out via внешний_интерфейс frag ${fwcmd} add 305 deny log icmp from any to any in via внешний_интерфейс Подозреваю, что это NAT, но не знаю как переделать правила под него. Ставил правила до divert и после, результат тот же. Помогите пожалуйста. Ссылка на сообщение Поделиться на других сайтах
grayich 0 Опубліковано: 2008-04-04 13:06:04 Share Опубліковано: 2008-04-04 13:06:04 1. это вроде не относится к разделу stg 2. покажи правила фаера Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2008-04-04 13:41:25 Автор Share Опубліковано: 2008-04-04 13:41:25 Тут в FAQ написано про это, потому я сюда запостил. Можно будет потом тут же FAQ подправить, если найдём причину. Мой IPFW: #!/bin/shfwcmd="/sbin/ipfw" natdcmd="/sbin/natd" int_if="rl0" #erv_if="xl1" ext_if="rl1" #sbros ipfw ${fwcmd} -f flush ${fwcmd} -f pipe flush ${fwcmd} add 5 allow udp from any 123 to any 123 #Принудительное проксирование ${fwcmd} add 10 fwd 127.0.0.1,3128 tcp from 10.0.0.0/24 to any 80,3128,8080,8088 out xmit rl1 ${fwcmd} add 15 allow udp from 127.0.0.1 53 to any ${fwcmd} add 16 allow udp from any to 127.0.0.1 53 ${fwcmd} add 50 divert natd ip from any to внешний_IP_сервера #blokiruem fragmentirovanie icmp ${fwcmd} add 55 deny log icmp from any to any frag #razreshaem icmp ${fwcmd} add 60 allow icmp from any to any ${fwcmd} add 100 allow ip from any to any via lo0 ${fwcmd} add 200 deny log ip from any to 127.0.0.0/8 ${fwcmd} add 250 deny log ip from 127.0.0.0/8 to any ${fwcmd} add 00304 deny log ip from any to 192.168.0.0/24 out via ${ext_if} ${fwcmd} add 00305 deny log ip from any to 10.0.0.0/24 out via ${ext_if} ${fwcmd} add 00306 deny log ip from any to 172.16.0.0/12 out via ${ext_if} ${fwcmd} add 00308 allow udp from any to 10.0.0.0/24 8888 via ${int_if} ${fwcmd} add 00309 allow udp from 10.0.0.0/24 to any via ${int_if} ${fwcmd} add 00314 allow tcp from 10.0.0.10 5555 to 10.0.0.1 via ${int_if} ${fwcmd} add 00315 allow tcp from 10.0.0.1 to 10.0.0.10 5555 via ${int_if} #pravila dlya kartochek ${fwcmd} add 400 allow tcp from me 80 to 10.0.0.0/24 ${fwcmd} add 410 allow tcp from 10.0.0.0/24 to me 80 ${fwcmd} add 50020 deny log ip from 10.0.0.0/24 to 10.0.0.10 via ${int_if} ${fwcmd} add 50021 deny log ip from 192.168.10.0/24 to 192.168.20.1 via ${int_if} ${fwcmd} add 50022 deny log ip from 192.168.10.0/24 to 192.168.30.1 via ${int_if} ${fwcmd} add 50024 divert natd all from any to any via ${ext_if} ${fwcmd} add 50029 allow tcp from any to any out via ${ext_if} setup ${fwcmd} add 50030 allow tcp from any to any via ${ext_if} established ${fwcmd} add 50031 allow udp from any to any out via ${ext_if} ${fwcmd} add 50032 allow udp from any to any in recv ${ext_if} ${fwcmd} add 65534 deny log ip from any to any Когда срабатывает OnConnect - добавляются правила вида: 29400 divert 8668 ip from 10.0.0.1 to any29410 allow ip from any to 10.0.0.1 29420 allow ip from 10.0.0.1 to any Ссылка на сообщение Поделиться на других сайтах
wifi_master 132 Опубліковано: 2008-04-04 22:12:58 Share Опубліковано: 2008-04-04 22:12:58 покажи rc.conf Ссылка на сообщение Поделиться на других сайтах
grayich 0 Опубліковано: 2008-04-04 23:54:49 Share Опубліковано: 2008-04-04 23:54:49 правило ${fwcmd} add 50024 divert natd all from any to any via ${ext_if} удали правило ${fwcmd} add 50 divert natd ip from any to внешний_IP_сервера преобразуй в: ${fwcmd} add divert 8668 ip from локальная_сеть to any out via ${ext_if} ${fwcmd} add divert 8668 ip from any to внешний_IP_сервера in via ${ext_if} в OnConnect нет смысла НАТ тыкать Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2008-04-05 00:54:07 Автор Share Опубліковано: 2008-04-05 00:54:07 grayich Сделал. Не помогло. Мой rc.conf: ntpdate -bs ntp.colocall.net ntp2.colocall.net kern_securelevel_enable="NO" nfs_reserved_port_only="YES" sendmail_enable="NONE" sshd_enable="YES" usbd_enable="NO" ifconfig_rl0="inet 10.0.0.10 netmask 255.255.255.0" ifconfig_rl1="inet внешний_IP_сервера netmask 255.255.255.252" defaultrouter="роутер_за_сервером" router="/sbin/routed" router_flags=-"q" router_enable="YES" gateway_enable="YES" natd_enable="YES" named_enable="YES" natd_interface="rl1" firewall_enable="YES" tcp_drop_synfin="YES" firewall_script="/etc/rc.firewall" samba_enable="YES" firewall_type="open" firewall_quiet="NO" firewall_logging="YES" apache_enable="YES" squid_enable="YES" ntpdate_enable="YES" ntpdate_program="/usr/sbin/ntpdate" xntpd_enable="YES" xntpd_program="/usr/sbin/ntpd" xntpd_flags="-p /var/run/ntpd.pid" В принципе я проблему решил по другому. Просто разобрался с проксями, даже инструкцию для сети в видео наваял: как и что. Но осадок-то остался: какого хрена не работает пинг из локалки. :-/ Ссылка на сообщение Поделиться на других сайтах
grayich 0 Опубліковано: 2008-04-05 12:37:26 Share Опубліковано: 2008-04-05 12:37:26 чесна говоря некогда вникать во все правила, сделай минимум fwcmd="/sbin/ipfw" ${fwcmd} add fwd 127.0.0.1,3128 tcp from 10.0.0.0/24 to any 80,3128.8080,8088 out xmit ${ext_if} ${fwcmd} add divert 8668 ip from локальная_сеть to any out via ${ext_if} ${fwcmd} add divert 8668 ip from any to внешний_IP_сервера in via ${ext_if} ${fwcmd} add allow ip from any to any поидее так пинг должен работать, а потом добавляй свои правила и вычисляй, где он пропадёт Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас