Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Надо починить доступ в интернет из локальной сети (vpn, shorewall, beeline)  (Прочитано 3826 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fat_hamster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
В общем предистория такова: у меня дома 3 компьютера, соединены в локальную сеть (192,168,0,0); один из них кроме этого имеет выход в инет (отдельная сетевая карта (192,168,1,0) соединяется с адсл-модемом)

на этом компе установлена Ubuntu (7.04, обновлена уже до 8.10), гуй отключен, файрвол и шейпинг трафика настроен с помощью shorewall

вся эта конструкция слава Б работала года полтора уже, напильником дотюнил до рабочего состояния: на Ubuntu-компе автозагружается screen в котором крутится rtorrent, трафик урезается, если кому-то из остальных компов надо срочно на тытюбик, по ssh есть доступ для администрирования из локальной сети и с работы (крутится тулза, которая периодически на DynDNS кажется обновляет имя<>IP адрес)

модем настроен как роутер (или как это называется - короче когда он сам соединяется с провайдером, восстанавливает связь, если надо, и т.д.)

все ip-адреса заданы руками, eth0 смотрит в модем, eth1 в локальную сеть

вот; теперь мне провели интернет от билайна (анлим 5 мбит), в квартиру затянули сетевой шнурок, настроили на виндовом компе соединение vpn, проверили, что все работает, после чего я вчера пол-дня игрался, пытаясь настроить Ubuntu-комп

в общем-то все заработало, за исключением доступа в инет из локальной сети.. что-то у меня в правилах shorewall-а, надо разобраться, что именно.. по идее то (это я уже утром соображал, едучи на работу) у меня при поднятом интернете теперь 3 сетевых соединения: eth1 по прежнему смотрит в локальную сеть, с ним ничего не менялось; eth0 смотрит в сеть провайдера, адреса получает автоматом (10,*,*,* - такого типа)

а после установки vpn-соединения появляется еще интерфейс ppp0, с "белым" адресом, который собственно и есть интернет; видимо его надо тоже добавить в правила правильно; или же надо что-то правильно добавить в таблицу маршрутов..

пока я только добавил строчку в /etc/shorewall/interfaces:

inet    eth0     detect          tcpflags,blacklist,nosmurfs,logmartians
inet    ppp0     detect          tcpflags,blacklist,nosmurfs,logmartians
loc     eth1     detect          blacklist,nosmurfs
строчку с ppp0 я тупо скопировал с eth0 - по идее оба эти интерфейса смотрят (с точки зрения файрвола) в интернет (даже без vpn соединения есть доступ к сайтам внутри сети провайдера - чем не интернет?..), так что и правила особо менять не надо (все правила ведь завязаны на отношения inet<> loc<>FW)

косвенно подтверждает, что я не совсем неправ то, что а) компьютер с Ubuntu видит и локальные, и "глобальные" сайты, 2) я его сейчас вижу с работы, вошел по ssh и смотрю на настройки shorewall-а

но при этом другие компьютеры у меня дома инета не видят, shorewall в логи тоже ничего не пишет по поводу каких-нибудь заблокированных пакетов.. (но в локальной сети они Ubuntu-комп видят, и его самбу, и его апач и прочие службы)

а, я еще добавил в policy

loc             inet          ACCEPT   - локальной сети можно в инет
loc             $FW         ACCEPT   - локальной сети можно в Ubuntu-комп
loc             all             REJECT      info  - все остальное локальной сети по умолчанию нельзя, если что - писать в лог
$FW          inet           ACCEPT  - Ubuntu-компу можно в инет
inet:ppp0   $FW          ACCEPT  - вот это я дописал - "инету из vpn можно в файрволл".. не очень много смысла как-то..
inet           $FW          DROP     info  - а вообще инету в файрвол нельзя (кроме исключений из rules)
inet           loc             DROP    info  - все из инета в локальную сеть отбрасываем
all              all             REJECT  info  - и все что не упомянуто - отбрасываем

строчку с "inet:ppp0" пришлось добавить кажется как раз чтобы комп с Ubuntu видел инет

в rules много всякого написано - в основном разрешен доступ по ssh, правила для самбы, svn, http(s) для доступа с работы..

вот в общем все важное вроде рассказал.. если же дело в роуте - вот таблица на сейчас
hamster@ubuntu-pc:/etc/shorewall$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
85.21.72.83     10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
195.14.50.21    10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
195.14.50.26    10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
89.179.135.67   10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
195.14.40.141   10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
195.14.50.93    10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
94.27.126.9     10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
10.43.70.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
10.0.0.0        10.43.70.1      255.0.0.0       UG    0      0        0 eth0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

откуда куча строчек в начале таблицы - не в курсе, видимо dhcp добавил (до установки соединения ppp0 их не было)

я не очень понимаю, как оно работает - но кажется (?) что там добавляется правило типа "для всего, что приходит с eth1 с адресами 192,168,0,* установить шлюз по умолчанию 10.43.70.1" - разве не должно работать? но не работает :(

в общем, очень хочется это пофиксить, жду советов

Оффлайн navigator

  • Любитель
  • *
  • Сообщений: 73
    • Просмотр профиля
У себя в аналогичной ситуации сделал так: поставил пакеты dnsmasq и ipmasq в машинах во внутренней сети шлюзом поставил ip внутренней сетевухи смотрящей в инет убунты, dns ip провайдера. Все заработало :) , кроме IPTV :(
P.S. ну можно у себя поднять DHCP во внутренней сети.

Оффлайн wcpGrief

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
а чем настройка виртуальной сети производилась?

Оффлайн navigator

  • Любитель
  • *
  • Сообщений: 73
    • Просмотр профиля
а чем настройка виртуальной сети производилась?
Какая виртуальная сеть?
Я всё вышесказанное про реальную писал.

Оффлайн fat_hamster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
Цитировать
У себя в аналогичной ситуации сделал так: поставил пакеты dnsmasq и ipmasq в машинах во внутренней сети шлюзом поставил ip внутренней сетевухи смотрящей в инет убунты, dns ip провайдера

dnsmasq и ipmasq давно поставлены - я же писал, что у меня локальная сеть внутриквартирная чудесно могла пользоваться интернетом, для этого у каждой машины был свой ip, деф.шлюз и dns указан 192.168.0.3 - это адрес (eth1) Ubuntu-компьютера (на нем кеширующий днс свой еще стоит, потому как у ОГО с dns иногда траблы)

а в интернет смотрела сетевая на Ubuntu-машине с eth0 (192.168.1.3), между ними перенаправления все настроены были

сейчас проблема в том, что после поднятия vpn соединения появляется еще один адаптер, ppp0, который собств. обеспечивает доступ в настоящий интернет

скорее всего у меня не хватает какого-то правила для файрвола, которое бы разрешило обмен пакетами между сетевой, которая смотрит в локальную сеть, и интерфейсом ppp0.. хотя в логах ничего не пишется про дропнутые или запрещенные пакеты (в правилах файрвола указано логировать все, что запрещается)

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

94.27.126.9     10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
94.27.126.9 - это шлюз по умолчанию для поднятого ррр0 (смотрел в ipconfig); означает эта запись, что пакеты для 94.27.126.9 перенаправятся в 10.43.70.1? а этот адрес - это шлюз по умолчанию (выдан dhcp) для сетевой карты, которая смотрит в сетку провайдера

а вот эти строчки
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
10.0.0.0        10.43.70.1      255.0.0.0       UG    0      0        0 eth0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

означают ли, что все что связано с 192.168.0.0 (т.е. все что смотрит в сторону моей локалки), перенапрявляется маршрутом по умолчанию - т.е. в ppp0 -> а значит в 94.27.126.9 и дальше -> 10.43.70.1

почему же тогда не работает?.. или же я просто не понимаю ничего в этих роутах (так и есть на самом деле, так, догадываюсь только)

Цитировать
а чем настройка виртуальной сети производилась?
если имеется в виду настройка vpn - то тут на сайте скрипт есть автоматический для билайна, я его выполнил, потом только поправил конфиги, которые он сгенерил, на свои (там прописывался адрес типа "beeline.ru", менял его на адрес своего vpn сервера)

Гарри Кашпировский

  • Гость
Очень смущает таблица маршрутизации.
В рабочем состоянии должно быть два маршрута с туннелем:
1-й адрес удаленного VPN-сервера
2-й шлюз по умолчанию
~$ route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
212.1.254.56    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.0.0.0        10.158.33.253   255.0.0.0       UG    1      0        0 eth0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

Вот как-то так.


Пользователь решил продолжить мысль 02 Июня 2009, 10:47:21:
Кстати, в пчеLANе, какой VPN? PPtP?

Оффлайн fat_hamster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
Цитировать
Кстати, в пчеLANе, какой VPN? PPtP?
да

иходя из этой части таблички

94.27.126.9     10.43.70.1      255.255.255.255 UGH   0      0        0 eth0
10.43.70.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
10.0.0.0        10.43.70.1      255.0.0.0       UG    0      0        0 eth0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
шлюз по умолчанию - ррр0 для всего, для чего соответствия не нашлось (т.е. практ. для всего); а у самого ррр0 соединения шлюз по умолчанию - 94.27.126.9, значит все, что пришло в ррр0, отправился в 10.43.70.1 (а это шлюз по умолчанию локальной сети провайдера)

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

неужели никто не использует shorewall для настройки правил файрвола?..

Оффлайн wcpGrief

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
а чем настройка виртуальной сети производилась?
Какая виртуальная сеть?
Я всё вышесказанное про реальную писал.

а у нас (г. Батайск) билайн через vpn интернет организует

Оффлайн fat_hamster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
просто тему приподнимаю вверх.. неужели нет никаких мыслей ни у кого?..

мне кажется, что дело скорее в роутах, чем в файрволе - там я добавляю правило all all accept (всем все можно то есть), а результат тот же.. если логировать, то видно, что от 192,168,0,1 (т.е. от компьютера из локальной сети) пакеты приходят, видно, что они уходят в ррр0, видимо по дороге теряются :) потому что на этом все..

что надо добавить в мою таблицу (которая "сама получилась", я ее не настраивал (ну кроме настройки в опциях pppd defaultroute и replacedefaultroute кажется)?..

 

Страница сгенерирована за 0.02 секунд. Запросов: 20.