как сделать систему маршрутизатором?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
trnd
Сообщения: 19
ОС: suse, ubuntu, fedora, mandriva

как сделать систему маршрутизатором?

Сообщение trnd »

Товарищи знатоки линуксовых технологий, подскажите как сделать из линуксовой машину роутер:

1) имеется машина "pc1" выступающая в сети из двух компов шлюзом на ADSL-модем с параметрами:
1.a) сетевой интерфейс eth0: IP/mask - 192.168.0.1/255.255.255.0 - к нему подключена машина "pc2"
1.b) сетевой интерфейс eth1: IP/mask - 192.168.1.2/255.255.255.0 - к нему подключён ADSL-modem DLink-500T
1.c) gateway - 192.168.1.1 -это адрес ADSL-модема запущенного роутером
2) вторая машина сети "pc2" имеет сетевой интерфейс eth0: IP/mask/gateway - 192.168.0.2/255.255.255.0/192.168.0.1
3) ADSL-модем DLink-500T имеет сетевой адрес 192.168.1.1

Моя задача чтоб в интернет через ADSL-модем ходила не только машина "pc1", но и "pc2". Я рассудил, что для того чтоб это получилось машина "pc1" которая соединена с "pc2" и модемом двумя разными сетевыми интерфейсами должна быть между ними роутером, для этого я настроил таблицы маршрутизации таким образом:
1) на "pc1":
Destination---Gateway-------Genmask---------Flags--Metric--Ref--Use--Iface
192.168.1.0---0.0.0.0-------255.255.255.0---U------0-------0----0----eth1
192.168.0.0---0.0.0.0-------255.255.255.0---U------0-------0----0----eth0
127.0.0.0-----0.0.0.0-------255.0.0.0-------U------0-------0----0----lo
0.0.0.0-------192.168.1.1---0.0.0.0---------UG-----0-------0----0----eth1
то-есть всё, что не относится к сетям 192.168.1 и 192.168.0 идёт на шлюз 192.168.1.1 (он-же модем)
2) на "pc2":
Destination---Gateway-------Genmask---------Flags--Metric--Ref--Use--Iface
192.168.0.0---0.0.0.0-------255.255.255.0---U------0-------0----0----eth0
127.0.0.0-----0.0.0.0-------255.0.0.0-------U------0-------0----0----lo
0.0.0.0-------192.168.0.1---0.0.0.0---------UG-----0-------0----0----eth0
то-есть всё, что не относится к сети 192.168.0 идёт на шлюз 192.168.0.1 (он-же "pc1", который этот пакет - мне так подумалось - должен переправить в соответствии со своей таблицей маршрутизации уже на свою шлюз, которым является модем)

К сожалению при этом ping с машины "pc1" идёт как на "192.168.0.2" (машину "pc2") так и на "192.168.1.1" (модем) и далее в интернет, а вот с машины "pc2" ping идёт на "192.168.0.1" и "192.168.1.2", но далее на "192.168.1.1" (модем) ужё нет и в интернет тем-более.

Подскажите - достаточно ли настроить таблицы маршрутизации чтобы пинг с "pc2" через "pc1" шёл на модем или этот механизм требует установки дополнительного софта. Впринципе я настроил "squid" на машине "pc1", но мне от неё нужна именно функция роутера - как это сделать?
windows must die linux forever
Спасибо сказали:
Аватара пользователя
rolano
Сообщения: 845
Статус: еще один юзер FreeBSD
ОС: какая-то

Re: как сделать систему маршрутизатором?

Сообщение rolano »

А чего поиск по форуму ничего не дал?
Я знаю только то, что ничего не знаю ... потому и обречен вечно учиться.
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: как сделать систему маршрутизатором?

Сообщение Liksys »

На компе с адсл:

Код: Выделить всё

ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
ifocnfig eth1 192.168.1.2 netmask 255.255.255.0 up
route add default gw 192.168.1.1


На компе, которому инет нужен:

Код: Выделить всё

ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up
route add default gw 192.168.0.1


Не знаю как в Сусе, в РедХате/Федоре надо еще в файле /etc/sysctl.conf заменить строчку:

Код: Выделить всё

net.ipv4.ip_forward = 0

на:

Код: Выделить всё

net.ipv4.ip_forward = 1


Ну или IPTables настроить (NAT)
Спасибо сказали:
Аватара пользователя
grad
Сообщения: 24
ОС: FreeBSD : OpenBSD : Linux

Re: как сделать систему маршрутизатором?

Сообщение grad »

Тебе нужно поднимать либо proxy(Squid), либо NAT.
Если ты настроишь машину как роутер, пакеты к машинам за этим роутером не будут доходить.

Маршрутизатор не изменяет поле адреса TCP пакета, а NAT изменяет.
ADSL-модем, кстати тоже c NAT работает.
FreeBSD 6.2-RELEASE :: Archlinux-current :: Debian 4.0 Etch
Спасибо сказали:
fornike
Сообщения: 246

Re: как сделать систему маршрутизатором?

Сообщение fornike »

http://freesco.linux.kiev.ua/

Как вариант
Спасибо сказали:
alexni
Сообщения: 189

Re: как сделать систему маршрутизатором?

Сообщение alexni »

Модем уже роутер?

может проще воткнуть модем в хаб?
обе машины тоже.
указать модем как default gw на обоих машинах и всё.
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: как сделать систему маршрутизатором?

Сообщение xorader »

а о том что пакеты до модема доходят, а обратно не возращаются по причине того что модем о сети 192.168.0.1/24 ничего не знает никто не подумал ?! B)
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: как сделать систему маршрутизатором?

Сообщение Liksys »

xorader писал(а):
07.12.2006 16:05
а о том что пакеты до модема доходят, а обратно не возращаются по причине того что модем о сети 192.168.0.1/24 ничего не знает никто не подумал ?! B)

Подумал B) В роутер надо комп ставить, если модем знает об этой подсети, а вот если нет... то IPTables-->NAT-на-шлюзе B)
Спасибо сказали:
Аватара пользователя
trnd
Сообщения: 19
ОС: suse, ubuntu, fedora, mandriva

Re: как сделать систему маршрутизатором?

Сообщение trnd »

все вопросы решило эта ссылка: http://lafox.net/docs/MDKman2/MDKman.html/services-masq.html
которую посоветовал "tsyma" с форума "http://lafox.net"
огромнейшее ему спасибо - эта ссылка на ресурс о "маскарадинге" решила все проблемы, единственное, что пригодится тем у кого стоит система SuSE-10 так это то, что в скрипте "masq.sh" нужно исправить строчку "IPTABLES=/sbin/iptables" на "IPTABLES=/usr/sbin/iptables" ну и для моей задачи ext- и int- интерфейсы надо поменять местами.
windows must die linux forever
Спасибо сказали:
Аватара пользователя
Unicorn
Сообщения: 689
Статус: Бригадир мучеников Аль-Аксы
ОС: Gentoo 100% fresh, Archlinux

Re: как сделать систему маршрутизатором?

Сообщение Unicorn »

trnd
Очень хорошая ссылка, спасибо!
Gentoo, Archlinux / Athlon2600+ / SATA RAID 0 LVM / GNOME
Спасибо сказали: