LinuxForum.Fans
Тема

вторичный шлюз

Автор: Peter 59 сообщений 7551 просмотров
#351819

Здравствуйте!

Как в одной сети один компьютер сделать источником Интернета для других?

Есть сеть 192.168.0.0, в ней компьютеры включены в switch, 1-й, с адресом 19.168.0.132,
получает Интернет от хаба с адресом 192.168.0.1. Для него этот хаб указан как gateway и dns-nameservers.
На нём /proc/sys/net/ipv4/ip_forward=1 и /proc/sys/net/ipv4/conf/all/accept_source_route=1.
А как сделать, чтобы 2-й компьютер с адресом 192.168.1.129 получал Интернет от этого 1-го?
Я попробовал для него указать как gateway и dns-nameservers 1-й, но этого оказалось
недостаточно, со 2-го виден только 1-й, а уже хаб не видится.

Пётр.

#351820

Сделай на шлюзе что то типо

text
ip route add 192.168.1.0/24 via 192.168.0.132
#351826

Благодарю за ответ, но пока не получилось. Именно такая команда

text
ip route add 192.168.0.1/24 via 192.168.0.132

не проходит с жалобой на неверный аргумент.
Я пробовал такую

text
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.132 dev eth0

и такую

text
route add -host 192.168.0.1 gw 192.168.0.132 dev eth0

они исполняются, маршруты добавляются, но на 2-м компьютере
хаб 192.168.0.1 остаётся невидимым.

Пётр.

#351828

Подними тунель на свиче или алиас сделай на вторую сеть.
И еще. Ты со второй сети пингуешь первую?

#351830
XliN написал:
Подними тунель на свиче или алиас сделай на вторую сеть.
И еще. Ты со второй сети пингуешь первую?

Этот свич - просто коммутатор, у него и адреса своего нет.
Оба компьютера - в одной сети, оба включены в свич.
их адреса - 1-й 192.168.0.132 и 2-й 192.168.0.129.
Хаб 192.168.0.1 тоже включён в этот свич.
Я со 2-го могу пропинговать 1-й, но не могу хаб.

Пётр.

#351832

М.б., кроме ip_forward, надо на 1-м компьютере ещё что-то разрешить?

Пётр.

#351868

Наверное, на 1-м компьютере надо включить NAT?

Пётр.

#351872

Читать невозможно, то в одной сети то в разных %) .
Нарисуйте схему чётко и подробно, тогда можно будет подумать а так как гадание на кофейной гуще.

#351874
Kettler написал:
Читать невозможно, то в одной сети то в разных %) .
Нарисуйте схему чётко и подробно, тогда можно будет подумать а так как гадание на кофейной гуще.

Мне кажется, что я в 1-м сообщении всё ясно изложил и потом ещё повторил.
Сеть одна, компьютеры включены в свич, в него же включён кабель, по которому происходит доступ в Интернет.
У 1-го - 192.168.0.132 - gateway и dns-nameserver 192.168.0.1, на 2-м - 192.168.0.129 -
я в качестве gateway и nameserver указал 1-й и пытаюсь добиться, чтобы 2-й
выходил в Интернет через 1-й.

Пётр.

#351876

"Peter" написал:
192.168.0.129
или все же
"Peter" написал:
192.168.1.129
?
#351882

192.168.0.129, а сеть - 192.168.0.0.

Пётр.

#351883

Peter, Непонятно тогда, зачем весь этот огород. Ладно, указать адрес первого компьютера в качестве дефолтового шлюза можно, он будет работать, если запрещающих фильтров никаких нет. А что касается задания адреса первого компьютера в качестве dns-nameserver'а, то тогда необходимо на первом компьютере поднять хоть какой-то днс-сервер, сами по себе имена и адреса преобразовываться не будут.

#351914
urfin написал:
Peter, Непонятно тогда, зачем весь этот огород. Ладно, указать адрес первого компьютера в качестве дефолтового шлюза можно, он будет работать, если запрещающих фильтров никаких нет. А что касается задания адреса первого компьютера в качестве dns-nameserver'а, то тогда необходимо на первом компьютере поднять хоть какой-то днс-сервер, сами по себе имена и адреса преобразовываться не будут.

Действительно, совершенно не подумал, что для разрешения запросов нужен dns-server,
хотя лет 10 назад что-то подобное сделал для эксперимента. Помню, что создавал named.conf.
Это надо на короткое время, а 2-й компьютер сам обратиться к существующему
серверу не может, т.к. на это имеет право только 1-й. Там проверка по MAC-адресам.

Пётр.

#351916

Peter, по идее на втором компьютере можно прописать адрес гугловского публичного днс-сервера: 8.8.8.8 или 8.8.4.4

#351942
urfin написал:
Peter, по идее на втором компьютере можно прописать адрес гугловского публичного днс-сервера: 8.8.8.8 или 8.8.4.4

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

Пётр.

#351975
Peter написал:
[quote=Kettler]Читать невозможно, то в одной сети то в разных %) .
Нарисуйте схему чётко и подробно, тогда можно будет подумать а так как гадание на кофейной гуще.

Мне кажется, что я в 1-м сообщении всё ясно изложил и потом ещё повторил.
Сеть одна, компьютеры включены в свич, в него же включён кабель, по которому происходит доступ в Интернет.
У 1-го - 192.168.0.132 - gateway и dns-nameserver 192.168.0.1, на 2-м - 192.168.0.129 -
я в качестве gateway и nameserver указал 1-й и пытаюсь добиться, чтобы 2-й
выходил в Интернет через 1-й.

Пётр.[/quote]
Совсем другое дело. Forward включён? iptables есть какие правила?

#351985

Да, я говорил, что ip_forward=1.
После загрузки по умолчанию всё разрешено, команда "iptables -S" выводит

text

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

Я пробовал, как говорил выше, ввести команду

text
route add -host 192.168.0.1 gw 192.168.0.132 dev eth0

но это не помогло, наверное, надо запустить dns-server, как мне уже посоветовали.

Пётр.

#352007

Я поместил в /etc/hosts строку

text
192.168.0.129 name

в файле /etc/bind/db.local оставил только две записи

text

.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     192.168.0.1

192.168.0.1 - это адрес, с которого 1-й компьютер получает Интернет,
перезагрузился и запустил named,
но это не помогло - 2-й компьютер не видит 192.168.0.1.
Вот строки из /var/log/syslog, вызванные запуском named:

text

Nov 29 14:58:16 Corsar named[3477]: starting BIND 9.6-ESV-R1 -u bind
Nov 29 14:58:16 Corsar named[3477]: built with '--prefix=/usr' '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--localstatedir=/var/run/bind' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-dlz-postgres=no' '--with-dlz-mysql=no' '--with-dlz-bdb=yes' '--with-dlz-filesystem=yes' '--with-dlz-ldap=yes' '--with-dlz-stub=yes' '--enable-ipv6' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -DNS_RUN_PID_DIR=0 -O2' 'LDFLAGS=' 'CPPFLAGS=' 'CXXFLAGS=-g -O2' 'FFLAGS=-g -O2'
Nov 29 14:58:16 Corsar named[3477]: adjusted limit on open files from 4096 to 1048576
Nov 29 14:58:16 Corsar named[3477]: found 2 CPUs, using 2 worker threads
Nov 29 14:58:16 Corsar named[3477]: using up to 4096 sockets
Nov 29 14:58:16 Corsar named[3477]: loading configuration from '/etc/bind/named.conf'
Nov 29 14:58:16 Corsar named[3477]: using default UDP/IPv4 port range: [1024, 65535]
Nov 29 14:58:16 Corsar named[3477]: using default UDP/IPv6 port range: [1024, 65535]
Nov 29 14:58:16 Corsar named[3477]: listening on IPv6 interfaces, port 53
Nov 29 14:58:16 Corsar named[3477]: listening on IPv4 interface lo, 127.0.0.1#53
Nov 29 14:58:16 Corsar named[3477]: listening on IPv4 interface eth0, 192.168.0.132#53
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: 254.169.IN-ADDR.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: D.F.IP6.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: 8.E.F.IP6.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: 9.E.F.IP6.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: A.E.F.IP6.ARPA
Nov 29 14:58:16 Corsar named[3477]: automatic empty zone: B.E.F.IP6.ARPA
Nov 29 14:58:16 Corsar named[3477]: command channel listening on 127.0.0.1#953
Nov 29 14:58:16 Corsar named[3477]: command channel listening on ::1#953
Nov 29 14:58:16 Corsar named[3477]: zone 0.in-addr.arpa/IN: loaded serial 1
Nov 29 14:58:16 Corsar named[3477]: zone 127.in-addr.arpa/IN: loaded serial 1
Nov 29 14:58:16 Corsar named[3477]: zone 255.in-addr.arpa/IN: loaded serial 1
Nov 29 14:58:16 Corsar named[3477]: zone localhost/IN: loaded serial 2
Nov 29 14:58:16 Corsar named[3477]: running
(END) 

Пётр.

#352017

Вообще возможно ли то, что мне надо, в одной сети на одном интерфейсе, ведь для этого нужен NAT?
Или обязательно надо выделить подсеть, запросы из которой и будут маршрутизироваться
через 1-й компьютер?

Пётр.

#352039

ТС сделайте так

"Kettler" написал:
Нарисуйте схему чётко и подробно, тогда можно будет подумать а так как гадание на кофейной гуще.
Войдите или зарегистрируйтесь, чтобы ответить.