LINUX.ORG.RU
ФорумAdmin

VPN + iptables


0

0

Раздал я адреса freeradius'ом, виндовая машина подключилась, ip-up стартовал, прописанный тупо маскарадинг запустился - инет есть.

Вопрос такой: что мешает подменить ip адрес клиента и зайти в инет через тот же сервер?

Указать входящий интерфейс как ppp+ ?

P.S. Я просто слегка схему работы не догоняю.

★★★★★

Насколько я понимаю, пусть клиенты в сети 192,168,0,0/24, после создания туннеля клиент получает адрес пусть 10,0,0,1. С 192,168,0,0/24 маскарада в Инет нету, с 10,0,0,1/32 есть.

Подменить адрес нельзя, потому что он есть только в туннеле точка-точка. Если кто-то из сети 192,168,0,0/24 поставит себе тоже адрес 10,0,0,1, он просто не достучится до сервера, который ожидает запросов на (пусть) 192,168,0,254

>Указать входящий интерфейс как ppp+ ?

Разрешать доступ в ip-up только для того IP, который передан в виде параметра, например

Или я не понял?

fagot ★★★★★
()
Ответ на: комментарий от fagot

Все ок, только еще одну весчь добавлю - не ставь автоматической выдачи IP-адресов из пула и забивай их намертво. то есть например для pptpd в /etc/ppp/chap-secrets надо писать не 'логин * пароль *' а 'логин * пароль ip-адрес-клиента'

Я просто сам уже натыкался на такую феньку - берешь и подключаешься к VPN но при этом ставишь вместо "получать ip-адрес автоматически" конкретный IP (10.0.0.1) тока что подключившегося соседа. В результате есть шанс что у него инет отрубится а ты будешь сидеть на его аккаунте. В случае забивания IP намертво такая фенька не проходит - сервер сразу же инициирует дисконнект.

vahvarh ★★★
()
Ответ на: комментарий от vahvarh

>В результате есть шанс что у него инет отрубится а ты будешь сидеть на его аккаунте

в таком случае будет наверное правильно просто делать в ip-up `ifconfig|grep $IP` и если такой уже есть - убивать оба ppp-интерфейса, и делать запись в логе для большей ясности.

В худшем случае, "правильному" клиенту будет просто неудобно и он придет выяснить в чем дело, но его трафик не утлетучется :)

fagot ★★★★★
()
Ответ на: комментарий от fagot

У меня смутно крутится следующая мысль - все адреса можно вытащить из iptables -L. ppp тоже передает адреса и их видно в ps. Значит, если сравнить в up-down.local имеющиеся на текущий момент ip на ppp с теми, что забиты в правила, можно найти несуществующий адрес и долбануть это правило.

С другой стороны, можно вести отдельно список пользователей с их ip адресами и сравнивать его в ip-down с активными пользователями по состоянию подключения - нет пользователя, убил цепочку с правилом.

P.S. Жестко вбивать адреса не хочется - есть желание сделать все именно на динамике.

jackill ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.