Войти

Показать полную графическую версию : Маршрутизация VPN на Linux с внешним роутером


Perekrestok
03-03-2007, 20:14
Всем привет.
СРОЧНО нужна помошь.
Перерыл форумы и доки - ответа не накопал.
Есть сервер (FC5). eth0 (172,16,100,1) локалка, eth1 (172,27,100,254) - на внешний роутер (172,27,100,1).
Клиенты конектятся по VPN (172,27,100,10-240) из локалки на сервер, нужно им разрешить доступ к роутеру для получения инета. Можно 80 порт завернуть на squid (уже поднят и настроен).
Плиз, помогите. Админа переманили, а тут сервак упал. Ставлю новый. Со всем разобрался кроме маршрутизации и iptables. Перенос конфигураций со старого сервера не подходит, там использовался NAT.

PS - проблема в FC5. Ошибка в работе PPPOE. Не конектятся клиенты пока не выключить syslog. Что не есть правильно.

slaine
04-03-2007, 09:32
squid сам маршрутизирует трафик, NAT вобщем не нужен, если только для почты или ещё каких-нить програм.

must die
04-03-2007, 10:18
Perekrestok

Как перенаправить трафик на прокси http://forum.oszone.net/thread-79906.html
А с маршрутизацией проблема в чем?

Perekrestok
04-03-2007, 11:38
Перенаправить на прокси не проблема. Какой строчкой а iptables я знаю
Но есть не только ШТТП протоколы. И не всех клиентов пускаю через прокси.
клиент соединился по рррое. Адрес 172,27,100,22. Пингую сервер 172,27,100,254. Могу пинговать роутер 172,27,100,1 (но не всегда) а инета нет. Переподсоединился пару раз, все нормально.
У меня вообще с iptables полный затык. Беру примеры. Вроде все нпарлю. Включаю - клиенты перестают или подключаться или получать инет.
Мне бы примерчик. Фаервол не нужен на этой машине. Все рулиться на роутере

slaine
04-03-2007, 14:30
всмысле на сервере настроить рутинг?

в файле /etc/sysctl.conf включить net.ipv4.ip_forward = 1
потом зделать:
# sysctl -p

дальше
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 172.16.100.0/16 -j SNAT --to-source 172.27.100.1

и это, чтоб мимо squid'а не ходили:
/sbin/iptables -A FORWARD -p TCP -m multiport --dport 80,443 -j DROP
/sbin/iptables -A FORWARD -p TCP -m multiport --sport 80,443 -j DROP
/sbin/iptables -A FORWARD -p UDP -m multiport --dport 80,443 -j DROP
/sbin/iptables -A FORWARD -p UDP -m multiport --sport 80,443 -j DROP

Perekrestok
04-03-2007, 22:31
SNAT не нужен.
Роутер на другой машине. Это чистый шлюз.
net.ipv4.ip_forward = 1 включен. Но почему то не всегда работает. iptables вообще выключен.
не могу его никак побороть. и то, при перезагрузке (п оумолчанию iptables выключен) пппое клиенты никуда не ходят. гружу левый конфиг айпитаблэс потом вырцбаю и начинают клиенты ходить в нет. но не все ((((( А в чем дело не пойму. Хотя пингуют роутер.
Читал что можно прописать постоянный маршрут, но так и не понял как и где.
С линухом знаком ровно неделю, а сделать нужно срочно.
И везде 1 - 2 срочки кидают и все. Хотя бы полный конфиг бросили рабочий (минимальный), дальше бы копал сам, методом тыка.

slaine
04-03-2007, 22:42
1. у вас шлюз eth0(172.16.100.1) направлена в локалку, eth1(172.27.100.254) направлен на рутер, прально понял?:)
чтобы из локалки ходили на рутер надо прописать правило, которое я напсал выше!
2. через чё юзеры ходят в инет по http, через squid или NAT?

Perekrestok
05-03-2007, 09:42
1. правильно.
2. юзеры ходят через железячный роутер. DI604. На серваке только биллинговая система и сквид. Через сквид рулить буду только часть юзеров. Допустим с 172,27,100,10 по 100 через сквид с 172,27,100,101 по 200 напрямую шлюзовать на роутер.

в общем схема такая

+----------------------------------------------+
| eht1 eth0 | Клиенты
| ppp+ |
инет - > [DI604] <--> | ----- <-- <- шлюз ---- -- PPPOE ------ | - <--------
| | | |
| \ <- quid <--/ |
+---------------------------------------------+

eth1 - 172.27.100.254
eth0 - 172.16.100.1
DI604 - 172.27.100.1
ppp+ - 172.27.100.10-200
Клиенты - 172.16.100.10-200

slaine
05-03-2007, 23:18
а что pppoe поднимается на шлюзе? тогда выходной интерфейс укажи -o ppp0.
ИП статичный?, --to-source <статичный ИП> или -j MASQUERADE




© OSzone.net 2001-2012