|
2.2, als (ok), 06:13, 16/06/2015 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо за наводку.
Попробую dhclient-script
Судя по описанию, он позволит сократить вызов cron
Со squid.conf все равно получается некрасиво.
| |
|
3.5, Crazy Alex (ok), 16:54, 16/06/2015 [^] [^^] [^^^] [ответить]
| +/– |
Он параметром новый IP получает, если что. Так что парсить ничего не нужно.
| |
|
4.11, Аноним (-), 03:05, 19/06/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Он параметром новый IP получает, если что. Так что парсить ничего не нужно.
Это слишком просто. Как это - не надо выносить коня из горящей избы? День прожит зря!!!
| |
|
|
|
1.3, _KUL (ok), 15:28, 16/06/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В линуксе я бы сделал маскарадинг для фаервола, а для сквида создал бы виртуальный tap интерфейс, слал бы туда трафик, и создал бы вторую таблицу маршрутизации iproute2 с дефолтным гейтвеем на интерфейс динамика.
| |
1.7, universite (ok), 20:18, 16/06/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Слишком сложно.
1) Используете ipfw NAT на интерфейсе ue0
2) При подключении по dhcp переписываем default (в /etc/dhclient.conf)
3) не трогаем tcp_outgoing_address в aquid
4) Профит!
Еще вариант через setfib и ipfw fwd
получить ip адрес интерфейса:
ifconfig ue0 | awk '/-->/ {print $2}'
Вместо демона megafon - man devd
| |
1.9, ALex_hha (ok), 16:34, 17/06/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ох блин как много действий
Поднимаем alias (10.0.0.1) на интерфейсе с динамическим ip, прописываем его ip как tcp_outgoing_address в squid.
Маркируем все пакеты с alias ip при помощи:
# iptables -t mangle -A OUTPUT -s 10.0.0.1 -j MARK --set-mark 0x1
маскарадим
# iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE
дальше направляем в нужную нам таблицу
# ip rule add fwmark 0x1 table channel2
# ip rule add from 10.0.0.1 table channel2
profit
| |
1.12, shurik (??), 11:22, 19/06/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Используйте несколько таблиц маршрутизации:
# echo net.fibs=2 >> /boot/loader.conf
# echo squid_enable=\"YES\" >> /etc/rc.conf
# echo squid_fib=\"1\" >> /etc/rc.conf
# shutdown -r now
# setfib 1 dhclient ue0
| |
1.13, als (ok), 22:30, 19/06/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Коллеги, спасибо за советы.
Ясно дело, изначально заметка не так красива и ясна, как многие из советов.
Спасибо за отклики, спасибо за рекомендации.
iptables не используется, за сим и мне, лично мне, не пойдет. Но это еще не повод не начать его использовать :)
Спасибо за совет awk к ifconfig, не пришло в голову. Красиво и просто получить адрес. Хотя, тот же awk через dhcpclient получает адрес :) Но сложнее.
По поводу алиаса на ue0, попробую. Пока не скажу :)
| |
|
2.14, universite (ok), 02:58, 20/06/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Хотя, тот же awk через dhcpclient получает адрес :) Но сложнее.
Программа на awk слишком некрасивая и длинная. Если уж говорить о использовании чисто awk, то код займет несколько строчек.
data='cat dhcpd.leases | awk 'tolower($1) ~ /(fixed-address|option routers)/ && \
$2 { key=($1=="fixed-address" : tolower($1)); arr[key]=$2 } \
END { for (key in arr) print key arr[key] }''
set -- ${data}
case ${1} in
address:*) address=${1#fixed-address:} ;;
router:*) router=${1#routers:} ;;
esac
case ${2} in
address:*) address=${2#fixed-address:} ;;
router:*) router=${2#routers:} ;;
esac
Код скорее всего содержит огрехи, но у меня нет перед глазами живой dhcpd.leases перед глазами.
| |
|
1.15, als (ok), 15:03, 20/06/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
воспользовался dhclient-script
Добавляем /etc/dhclient-enter-hooks :
if [ $reason == "PREINIT" ]; then
echo 'AT^NDISDUP=1,1,"internet"' > /dev/cuaU1
fi
Добавляем /etc/dhclient-exit-hooks :
if [ $reason == "BOUND" ]; then
if [ $new_ip_address != $old_ip_address ]; then
echo $new_ip_address > /etc/megafon_ip
echo $new_routers > /etc/megafon_router
#Обновляем ipfw
/usr/local/sbin/sh_firewall
#Формируем новый конфиг squid. К сожалению, tcp_outgoing не умеет брать адрес из файла.
sed 's/#ip_megafon#/'$new_ip_address'/g' /usr/local/etc/squid/squid.conf.etalon > /usr/local/etc/squid/squid.conf
#Рестарт squid.
/usr/local/sbin/squid -k reconfigure
fi
fi
Уходит вызов скрипта в cron.
Спасибо за советы.
| |
1.16, маша (??), 22:25, 06/07/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
дешевле и надежней поставить роутер tplink воткнув в него модем.
зачем прокся ? а затем что бы ничего не создавать, а что-нибудь контролировать.
и интернет что бы не нормальный был а тормозной 3G
| |
|
2.18, pavlinux (ok), 03:47, 25/07/2015 [^] [^^] [^^^] [ответить]
| +/– |
Машко, прокси ещё кэширущий бывает, а ещо авторизация, а ещо редиректы,....
| |
|
3.19, XoRe (ok), 17:48, 27/07/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Машко, прокси ещё кэширущий бывает, а ещо авторизация, а ещо редиректы,....
А ещо запреты роскомнадзора
| |
|
|
1.17, пиу (?), 00:03, 09/07/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Используйте PF
($ext_if) будет получать ip динамического д линка автоматически
| |
|
2.21, Аноним (-), 00:44, 04/10/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Используйте PF
> ($ext_if) будет получать ip динамического д линка автоматически
Это бесподезно, люди хотят использовать единственно правильный инструмент.
| |
|
|