> Есть локалка из 2 машин. > На них в интерфейсе eth0 broadcast и gateway указывают в > никуда (нафиг мне не нужны между двумя машинами). > Теперь на одной из них я коннекчусь по модему. Появляется > ppp0 с нормальным gateway. > Теперь вопрос: куда пойдут пакеты ? Ни какого route я не > делаю. > У меня нехорошее впечатление, что он их пиндюрит туда куда > указывает eth0. Т.е. по первому попавшемуся интерфейсу, в > никуда. Я прав ?
На самом деле все довольно просто. У тебя у каждой машины есть IP. А так же маска подсети. Так вот компутер знает, что на eth0 у него например IP 10.10.10.123 и маска 255.255.255.0 и уж точно он не пошлет на этот интерфейс накакого пакета с адресом 212.48.123.45, конечно если у твоего дефаулт гейтвея не 10.10.10.... А пошлет он его на дефаулт гейтвей, если у него нету этой подсети в раутинговой таблице. Раутинг батенька, раутинг ....
Есть локалка из 2 машин.
На них в интерфейсе eth0 broadcast и gateway указывают в никуда (нафиг мне не нужны между двумя машинами).
Теперь на одной из них я коннекчусь по модему. Появляется ppp0 с нормальным gateway.
Теперь вопрос: куда пойдут пакеты ? Ни какого route я не делаю.
У меня нехорошее впечатление, что он их пиндюрит туда куда указывает eth0. Т.е. по первому попавшемуся интерфейсу, в никуда. Я прав ?
Проблемма номер два (Update)24.08.02 23:32 Автор: PS <PS> Статус: Elderman Отредактировано 27.08.02 00:01 Количество правок: 2
A <-eth0-> B <-ppp0->...
IP A = 192.92.7.2
IP B = 192.92.7.1 (это я детализировал что бы лучше понять ситуацию).
На узле B запускаем tcpdump -i ppp0 (1) и tcpdump -i eth0 (2)
Далее на B делаю ping 192.92.7.2 и вижу что для 2 у меня идет request, replay; ping работает.
Делаю ping 194.67.14.219 и вижу, что уже для 1 у меня есть request, replay. ОК, тут все работает и пакеты идут куда надо.
А теперь на A делаю ping 194.67.14.219 и обнаруживаю, что на 2 у меня request, но 1 - пуст ! Пакеты пришедшие с eth0 не уходят на ppp0 !
Почему ?
На всякий случай сделал ipchains -F -X, не помогло.
Вообщем Help !
-------------------------------------
Кажется с этим разобрался.
Включил форвардинг пакетов и все почти заработало.
sysctl -w net.ipv4.ip_forward=1
Теперь то что необходжимо переслать из eth0 в ppp0 - пересылается.
Но ! Возникла другая проблемма.
Допустим на узле B я делая тот же ping 194.67.16.219
В tcpdump -i ppp0 вижу запись:
212.11.11.11 > 194.67.16.219
Т.е. с адреса моего провайдера пакет идет на запрашиваемый адрес. Отлично.
Но стоит мне сделать тот же пинг на узле A, как для ppp0 появляется следующая запись:
192.92.7.2 > 194.67.16.219
Действительно, пинг я делаю на узле A с адресом 192.92.7.2, пакет идет на зел B с адресом 192.92.7.1, после перенаправляется в ppp0. И тут возникает вопрос: Почему для ppp0 не меняется исходный адрес с моего локального на адрес моего провайдера ?
Естественно ни каких ответов я не получаю. Возможно их получила машина с тем же адресом, что имеет мой локальный узел A. Вот она наверно удивилась ;)
И все таки: как мне сделать так, что бы подключить модем к узлу B, а в инет ходить с узла A ?
На B дефаултный гейт стоит для ppp0, форвард пакетов включил... что еще нужно ?
Последний шаг27.08.02 21:52 Автор: PS <PS> Статус: Elderman
> Есть локалка из 2 машин. > На них в интерфейсе eth0 broadcast и gateway указывают в > никуда (нафиг мне не нужны между двумя машинами). > Теперь на одной из них я коннекчусь по модему. Появляется > ppp0 с нормальным gateway. > Теперь вопрос: куда пойдут пакеты ? Ни какого route я не > делаю. > У меня нехорошее впечатление, что он их пиндюрит туда куда > указывает eth0. Т.е. по первому попавшемуся интерфейсу, в > никуда. Я прав ?
На самом деле все довольно просто. У тебя у каждой машины есть IP. А так же маска подсети. Так вот компутер знает, что на eth0 у него например IP 10.10.10.123 и маска 255.255.255.0 и уж точно он не пошлет на этот интерфейс накакого пакета с адресом 212.48.123.45, конечно если у твоего дефаулт гейтвея не 10.10.10.... А пошлет он его на дефаулт гейтвей, если у него нету этой подсети в раутинговой таблице. Раутинг батенька, раутинг ....
> Есть локалка из 2 машин. > На них в интерфейсе eth0 broadcast и gateway указывают в > никуда (нафиг мне не нужны между двумя машинами). ну гетвей конечно не нужен - а каст указать надо
как же ты задашь ИП без маски подсети?
> Теперь на одной из них я коннекчусь по модему. Появляется > ppp0 с нормальным gateway. > Теперь вопрос: куда пойдут пакеты ? Ни какого route я не > делаю. > У меня нехорошее впечатление, что он их пиндюрит туда куда > указывает eth0. Т.е. по первому попавшемуся интерфейсу, в > никуда. Я прав ? нет конечно... потому что PPP заворачивает дефолт гетвей на себя
практика - критерий истины
сделай route -n get IP
и увидишь через какой интерфейс пойдут пакеты
Тогда очень странно10.08.02 21:20 Автор: PS <PS> Статус: Elderman
До того как кладу eth0 (но после подъема ppp0) последняя сторка (пишу по памяти):
0.0.0.0 ?????? UG ??? eth0
После того как eth0 положен и ppp0 поднят:
0.0.0.0 ?????? UG ??? ppp0
eth0 сконфигурировал один раз (еще при инсталяции).
Вообщем такая проблемма только на alt master 2.0 (и как я понял только у меня). Альтовский "народ" только плечами пожимает...
Вообщем мое решение проблеммы - вернуться на RH ;)
как по мне13.08.02 16:46 Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
так это просто в скрипте который стартует фейс недочет
он прис старте ИмХО не находит в конфиге указания гетвея и вместо него ставит то что ты обозначил вопросами ????
а удается выполнить команду?
route delete default
решил проблемму следующим образом19.08.02 16:16 Автор: PS <PS> Статус: Elderman
Запускаю pppd из своего скрипта (сильно сказанно ;)), написанного заново.
Пришлось самому добавить файлы: /etc/ppp/options.xxx, /etc/ppp/chat.xxx, /etc/sysconfig/network-scrypt/ifcfg-ppp0 (это для RH, на котором при инсталяции не было модема, и файл не был создан).
Так же пофиксил баг: IP были 149... а маска 255.255.255.0
Убрал из ifcfg-eth0 строчку GATEWAY = ....
Прописал на двух машинах в /etc/ppp/options defaultroute (раньше эта запись была только на одной из машин).
Переставил модем с cua0 на cua1 ;)
Вообщем только после всех этих мер проблемма разрешилась. Вот теперь сижу и думаю, а что же реально привело к её фиксу ? ;)
вот эта мера:
> Прописал на двух машинах в /etc/ppp/options defaultroute после поднятия ppp интерфейса дефаултроут (был он или нет - неважно) перебрасывает на фейс ppp