Как дать dial-up Интернет локальной машине Windows? [solved]
В локалке 2 компа:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
= основной =
сервер, IP: 192.168.0.1
Gentoo Linux
Соединение: Dial Up
= дополнительный =
192.168.0.2
WindowsXP OS
Соединение: надеюсь будет через мой DialUP и локалку
Больше компов нет. Локалка из двух компов.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Как мне кажется, локалку я уже успешно настроил. Во всяком случае, пинги по адресу проходят в обе стороны. Как из Дженту в Винду, так и обратно. Думаю, судя по этому, можно сказать, что локалка функционирует.
Из материалов читал я это:
http://gentoo-wiki.com/HOWTO_setup_a_home-server
и "How to" по созданию "home router'а" на офисайте Gentoo.
Я так и не понял, какая утилита/сервис позволяет делиться Интернетом с другой тачкой в локалке (в данном случае с виндозной тачкой)?
В этих доках стока всего нарассказывали, голова кругом идёт.
Нужен ли мне этот DHCP? Ну куда там уйти может эта единственная машина.. куда она денеться (-: Думаю, динамическое выделение IP адресов абсолютно не нужно.
IPTables.. думаю не смертельно, если я его сейчас не поставлю. Чуть позже поставлю, если необходимость будет, хочу хотя бы, чтобы "на минимуме" оно заработало, а уж затем будучи уверенным, что всё работает продолжать экспериментировать дальше в этом направлении.
Какой сервис мне нужно теперь поднимать, чтобы инетом (дайл-ап) делиться?
- Для комментирования войдите или зарегистрируйтесь
тебе нужно 2
тебе нужно 2 вещи - дозванивалка, которая будет соединение держать когда нужно и бросать по таймауту, и включение форварда и ната, форвард можно без iptables а нат только с ним (вроде) но можно воспользоватся тем что в той статье есть - просто тупо всё всем открыть
Ну в качестве
Ну в качестве дозванивалки наверное и wvdial + cron сойдёт..
А вот с IPTables'ом прийдётся туго чувтствую.. (-:
Тебе нужно home
Тебе нужно home router howto использовать. И тебе нужен именно iptables, именно он и отвечает за NAT, который и позволяет хитрым образром менять пакеты так, чтобы пускать в интернет компьютеры из внутренней сети.
Т.к. в твоей сети никого лишнего быт не может, то тупо даешь доступ в интернет всем подряд из твоей внутренней сети.
Все, кроме iptables и его настройки - вторично и служит для удобства, а не обеспечения доступа в интернет.
Я именно этот
Я именно этот док и использую.
Значит будет с iptables'ами разбираться..
Правда пока что установка мне кроме как:
Зато, кстати говоря, и команда
gentoo ~ # iptables -F
давала примерно туже ошибку. Уже срабатывает без ошибки. Прогресс! (-:
Я собсно по этому доку пытаюсь настраивать:
http://gentoo-wiki.com/HOWTO_Iptables_for_newbies
Там есть блок кода под заголовком "Firewall Rule: Basic Setup /etc/iptables.bak". Вот с ним-то и проблема.
"iptables-save > /etc/iptables.bak" я сделал успешно, а вот restore ругается:
Файл /etc/iptables.bak у меня сейчас такого содержания:
(изменял только середину после iptables-save)
В чём здесь может быть дело, не подскажите? Ошибка видимо выше COMMIT'а. Но вот только где..
Интересная
Интересная попытка определения ошибки:
http://gentoo-wiki.com/Talk:HOWTO_Iptables_for_newbies
заголок "Problems with iptables-restore"
Попробую завтра полинейно выполнить эти команды, может это прояснит чего.
Интересный он конечно вывод там сделал: "Looks like some of the modules in kernel 2.6.1* section are missing.".
А как же узнать какой именно опущен модуль?
Потестил
Потестил построчно, результат такой:
gentoo ~ # iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables: No chain/target/match by that name
gentoo ~ # iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables: No chain/target/match by that name
....
В общем вот так абсолютно все команды отвечают за исключением этой:
Что можно проверить/поправить в моём случае??
Включи поддержку НАТ в ядре.
Включи поддержку НАТ в ядре.
Или загрузи модуль.
Неужели
Неужели действительно в этом проблема...
А не подскажите какая это именно опция в ядре?? Подозреваю, что она включена уже.. Я монолитно включал поддержку (не модулями).
Что-то я уже там столько навключал, что уже вариантов не остаётся, типа она ещё не включена (-: Хотя всякое возможно, конечно..
У меня ядро 2.6.19-r5. Какая именно это опция в ядре?
Проблемма
Проблемма именно в неправильно настроенном ядре. Ставить все можно и монолитно. В секции Networking смотри секцию netfilter, вот там будет просто дофига различных модулей для iptables, выбирай из них нужные.
Ну так я и
Ну так я и попробовал выбрать "нужные". В соответствии с вышеуказанными источниками. Видимо всё же какие-то нужные остались невыбранными.. Терь бы понять и найти какие именно..
Все предельно
Все предельно просто
IP tables support
Packet filtering
MASQUERADE target support
На основном компе (сервере) я так понимаю 2 сетевые, одна смотрит в твою локалку, другая в инет (например, eth1), пересобирашь ядро с опциями
Network packet filtering -> IP: Netfilter Configuration ->
<*> Connection tracking
Остальные опции по желанию или если уже стоят, - не трогай.
и даешь команду
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
> На основном
> На основном компе (сервере) я так понимаю 2 сетевые, одна смотрит
> в твою локалку, другая в инет (например, eth1)
ну почти.. Одна сетевая + дайл ап соединение. Одно eth0, а дайл-ап ppp0.
Пункта "MASQUERADE target support" у меня вообще нет.
Эти два уже были включены (мною в прошлый раз):
IP tables support
Packet filtering
Вот этот пункт не понял:
<*> Connection tracking
У меня есть такие:
Connection tracking flow accounting
Connection mark tracking support
Connection tracking events (EXPERIMENTAL)
Какое из них ты имел ввиду?
Нашёл опцию "Full
Нашёл опцию "Full NAT", она была отключена, включил. А в ней собсно и была опция "MASQUERADE target support". Но проблему это так и не разрешило. Правила опять не выполняются успешно в iptables.
Остаётся только вопрос о пункте "Connection tracking". А из-за него могут не выполняться правила iptables?
В /etc/sysctl.conf
В /etc/sysctl.conf допиши:
И чтобы не перезагружаться выполни:
Это включает форвардинг пакетов в ядре.
Ну вот те раз..
Ну вот те раз.. Перечитав повнимательнее, тот док:
http://gentoo-wiki.com/HOWTO_Iptables_for_newbies
Прям как для меня написано:
Осталось только уточнить о какой именно опции Connection Tracking идёт речь?
А у меня ведь именно и не выполняются эти State состояния... Вот видимо в них всё и дело.
Я отвечал на
Я отвечал на твой первоначальный вопрос. Что касается stateful rules, -m state как раз задают их, поддержка в ядре это как раз IP Netfilter Configuration -> Connection Tracking. У меня в 2.6.19-r5 он в самом верху Connection tracking (required for masq/NAT). Вкомпилен в ядро, все остальное начиная с IP tables support - модулями
p.s. на время проверки лучше закомментить вот это правило, либо включить логирование и смотреть что режется.
# reject everything else
-A INPUT -j REJECT --reject-with icmp-port-unreachable
Эх, хреново..
Эх, хреново.. т.к. эта опция у меня была включена уже изначально. И толку от неё:
(это второе правило из: http://gentoo-wiki.com/HOWTO_Iptables_for_newbies
Это: "-A INPUT -s 127.0.0.1 -j ACCEPT" срабатывает.)
у меня все эти необходимые опции вкомпилены в ядро.
Может что ещё проверить можно?? Чего ж он не хочет работать-то..
Погоди, а чё
Погоди, а чё значит "все остальное начиная с IP tables support..." у тебя после этого пункта "IP Tables support" выбраны абсолютно все пункты?? Ээ.. у меня только 3... Может поэтому и не срабатывает..
Сейчас у меня
Сейчас у меня там такая картина:
Re: Сейчас у меня
Сделай вот так, и еще в Core Netfilter Configuration должно быть
<*> Netfilter Xtables support (required for ip_tables)
<*> "conntrack" connection tracking match support
<*> "state" match support
Это только для этого правила:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Спасибо! IPTables
Спасибо! IPTables заработал. Инетом по сих пор не получается делиться. Чуть ниже описал попытку настройки.
Вот кстати мой
Вот кстати мой конфиг, может быть он чего прояснит:
http://ifolder.ru/1727782
Можете что-то сказать, что здесь не включено ещё?
IPTables
IPTables потихоньку теперь работает. Но почему-то мне кажется, что он не сохраняет введённые мною правила..
Выполнил вот такие инструкции по руководству Home Router Guide с офисайта Дженту.
Но так ничего и не сработало. А как узнать сохранились ли эти правила или нет?
Попробовал так:
Написано, что сгенерирован 17го числа. Сегодня 19ое. Значит это старые правила. Так что новые не сохранились что ли??
Насколько понимаю, одна из важнейших команд:
# iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
и где она? нет её видимо среди текущих правил айпиТаблиц?
Можно конечно поступить иначе - загрузить в файл все необходимые правила и iptables-restore их. Но хотелось бы узнать, почему в моём случае они не сохранились? (либо сохранились, но где(-: )
Нафик все эти
Нафик все эти iptables? Поставить shorewall или ему подобное - он сам за тебя все сделает. До кучи можно будет настроить фаервол, а не только нат.
pppd на линухе настроить 'on demand' - будет ppp поднимать по пингу в инет. У меня лично именно так было сделано.
> Нафик все эти
> Нафик все эти iptables? Поставить shorewall или ему подобное -
> он сам за тебя все сделает.
хороший вопрос (-:
Откуда же мне знать было, что там ещё какие-то shorewall'ы есть..
Собсно начал iptables, думаю тут дожать-то его осталось всего ничего.
> pppd на линухе настроить 'on demand' - будет ppp поднимать по
> пингу в инет. У меня лично именно так было сделано.
то бишь при каждом запросе клиентом инета, на сервере будет установлено соединение? Не, такое как раз не желательно.
А собсно через
А собсно через Shorewall можно сделать всё тоже самое (и больше) абсолютно БЕЗ iptables??
Не, я тока за спец. софт.. Если он в каком-то смысле лучше iptables, можно рассмотреть и такой конечно вариант.
Re: IPTables
Создай для начала вот такой скрипт, он позволит второму компу выходить в инет, что тебе собственно и нужно, остальные правила по необходимости добавишь потом, в принципе на домашнем компе вообще файрволить нечего, обычно никаких сервисов на нем нет, это ж не сервак:
Запусти этот скрипт и потом сделай
# rc-update add iptables boot
# /etc/init.d/iptables save
Правила сохраняются в /var/lib/iptabes/rules-save
Восстанавливаться они должны сами при запуске (скрипт /etc/init.d/iptables)
В /etc/conf.d/iptables у меня:
# Location in which iptables initscript will save set rules on
# service shutdown
IPTABLES_SAVE="/var/lib/iptables/rules-save"
# Options to pass to iptables-save and iptables-restore
SAVE_RESTORE_OPTIONS="-c"
# Save state on stopping iptables
SAVE_ON_STOP="yes"
p.s хотя лучше оставь как было
# rc-update add iptables default
а то добавится еще в другой уровень
А у меня чего-то
-
А не, сорри.
Скрипт успешно выполнился, сохранил эти правила. Только вин-юзер опять обламывается с инетом..
Причём если сейчас же на моёй (этой) машине запустить винду и инет на ней, то у того вин-юзера инет будет. Значит проблема где-то у меня в Дженту настройках...
А гейтвей (шлюз)
А гейтвей (шлюз) прописан на виндовой машине?
ну
ну есствественно. Я именно за этим и сказал, что если запустить на этой вместо Дженту - Винду, то раздача инета будет успешной..
Если был бы не прописан, тогда и с "Винды на Винду" неплучилось бы..
Адреса на обеих
Адреса на обеих компах в одной и той же подсети? Т.е. например inet addr:192.168.0.1 Mask:255.255.255.0
на винде аналгично Ip address 192.168.0.2, subnet mask: 255.255.255.0 и default gateway 192.168.0.1
сначала пингани любой сервак в инете по айпи, т.к. не знаю, что у тебя там с днс, я юзаю общедоступный 4.2.2.1
Ага, вот в чём
Ага, вот в чём проблема. По ip адресу инет есть.
В целом картина такая:
главный: 192.168.0.1, Gentoo
дополнительный: 192.168.0.2, WinXP
Сеть класса С, подсеть одна, макса подсети: 255.255.255.0
Пинги идут в обе стороны.
Инет доступен и на винде через Дженту, но на винде нужно сайты писать через айпи адрес.
Примерно понял в чём проблема - иду ковырять ДНС..
пропиши в
пропиши в /etc/resolv.conf
nameserver ип сервера dns
ну и на винде...
Или подними простой DNS на генте, и просто форварди адреса...
это даст возможным указать в винде твой шлюз как dns
а "просто
а nameserver это что в данном случае? Вы имеете ввиду первое решение это прописать соответсвия сайтов вручную?? ого (-:
Нет. Просто
Нет. Просто видимо винда все-таки имеет dhcp и передавала адрес сервера имен на внутреннюю машину. Чтобы работало с gentoo надо сделать одно из 2х
1) Настроить dhcp
2) Забить на dhcp и прописать сервер имен на виндовой машине руками
А DHCP как может
А DHCP как может помочь в данной ситуации?
Я просто думал, что DHCP занимается только тем, что "раздаёт" адреса машинам, которые хотят получить IP адрес автоматически выделенный DHCP сервером..
Так как в качестве ДНС сервера на виндовой жёстко по айпи прописан: 192.168.0.1 (т.е. мой Гентушный).
Вот и думаю если адрес ДНС также получен (имеется), чем тут может ещё помочь DHCP.
(Мог бы помочь, проблема разрешилась установкой DNSMasq)
В resolv.conf nameserver
В resolv.conf
nameserver 192.168.0.1
поменяй ип из этой строчки на свой.
_________________
Хто тут?!
Тавк на
Тавк на гентовой машине у него все резолвится. Прописыватьнадо на виндовой машине.
Во, именно вот
Во, именно вот так у меня и сработало.
Установил DNSMasq: # emerge dnsmasq
И добавил в файл: /etc/dnsmasq.conf строчку: interface=eth0
Всё успешно заработало!
Вроде обошёлся без DHCP.
А это вариант
А это вариант :)
Сам прописывал на виндовой машине адрес dns-сервера 4.2.2.1
но так как он в инете, разрешение имен будет немного более медленным.
А 4.2.2.1 это адрес
А 4.2.2.1 это адрес Гентушной машины?
Получается схожая схема с моей, у меня на винде прописан в качестве ДНС айпишник Гентушной тачки.. Только без поднятия DNS Генту не хочет принимать запросы содержащие доменные имена, только ip адреса.
Мне почему-то кажется, что виндовая тачка должна отправлять пакеты по локалке моему компу, NAT соответствующим образом модифицирует пакеты и от моего имени уже получает из Интернет необходимые данные.
Тогда получается какая же разница как с виндовой тачки хотят получить сайт с указанием домена или айпишника, получать-то всё равно мой комп будет, а он у меня получает в том числе и через указание домена..
Проблема здесь
Проблема здесь в том, что ты с винды обращаешься в инет не по айпи, а по именам (естественно). Запрос идет сначала к днс, - для этого надо либо иметь эти днс доступные с виндового компа, либо юзать проброс запросов к днс через NAT. У тебя сейчас как раз работает второй вариант.
Я сразу использовал первый вариант, поэтому до второго даже не дошел. 4.2.2.1 это общедоступный dns-сервер в интернете, его я и использовал на виндовом компе, пока не вспомнил, что днс моего прова так же в инете, сейчас использую его.
Проблема
Проблема разрешилась установкой DNSMasq. Всем большое спасибо за помощь!
Тему можно перемещать в [solved].
а вот ты это
а вот ты это солвед в тему 1 поста и добавь...