anonymous
написал 8 февраля 2005 года в 00:55 (668 просмотров)
Ведет себя
неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.
Такая вышла инетерсная ситуация — поставил маскарад на интерфейс 0, на интерфейсе 1 интернет. надо дать доступ интернета через 0. сделал все как положено (POSTROUTING SNAT --tosource…). Однако ничего не работает. Пакеты (в частности с пингом) идут от подключенных компов через сервер, приходят обратно на сервер с маскарадом и дальше идти уже не хотят. Сетевухи работают (dhcp радается успешно). Файрволл везде вырубаю на корню. система — fedora 2.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Гкхм! А теперь прожуй и повтори.
Не, так дело не пойдёт. Давай рассказывай, что за внутрення сеть (диапазон её IP и маску), что за IP-адрес и имя интерфейса, смотрящего внутрь. Как зовётся интерфейс, смотрящий во внешнюю сеть, и каков его IP-адрес.
Показывай правила, которые записывал в цепочки iptables (понимаешь, твоего «POSTROUTING SNAT --tosource…» просто напросто мало).
Какой ещё файерволл и как он «вырубается», тем более «на корню"?
Вобщем, расписывай подробности своей ситуации.
П.С. А про пинги вообще какая-то ересь…
в поиск форума по словам «Genie iptables»
только там оно так интересно пытается подсвечивать найденные слова… :))
в общем, будь внимательнее при копировании конфига.
интерфейсы, адреса и пр., понятное дело, поправишь самостоятельно.
Понял. пишу честно.
Внутрь: раздал dhcp: 10.0.0.0/10 маска — 255.255.255.0. ip — 10.0.0.1 eth0.
Внешность: eth1 192.168.0.78.
Рублю все на корню вот так: #iptables -X #iptables -F. на клиенет-виндовсе (хр) просто снимаю (для удобства, а то так даже пинги не пускал!) встроенный файрвол!
Вот так пускал максарад. Хото пробовал и по-другому.
#iptables -t nat -A POSTROUTING -s 10.0.0.0/10 --out-interface eth1 -j SNAT --to-source 192.168.0.78
Сетевухи живы так как пинги ходят.
У тебя косяк вот тут ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ты что-то напутал с маской подсети. Определись, у тебя маска /10 или всё-таки 255.255.255.0 (это /24)?
Если всё-таки последнее, то правило для НАТа должно быть следующим:
iptables -t nat -A POSTROUTING -s 10.0.0.0/<font color=«red»>24</font> -o eth1 -j SNAT --to-source 192.168.0.78
Нет, что-то не в том. я попробовал ровно ту команду, что Вы и написали. Ноль на массу. (на самом деле я пробовал и проще — указывал на клиенете адрес статически и подключал его так к дхцп; ну и в построуте писал просто этот статический адрес).
Да, а почему Вы там сказали, что с пингами ересь? я может неправильно выразился. пускал на клиенте пинг нашего сервака провайдера (192.168.0.1) — ну и смотрел ifconfig. А на нем было видно, что пакеты пробежали до того сервака через меня. пришли ко мне и на этом остановились!
На самом деле он даже 192.168.0.78 (мой адрес на внешнем интерфейсе) не пингует!
Теперь всё ясно (хотя,.. с пингами так и непонятно) ;)
Форвардинг между интерфейсами включал (команда ниже)?
П.С. давай лучше не Выкать, а Тыкать =)
что у тебя с маршрутизацией как на шлюзе, так и на клиентах?
Да, единицу я туда клал. Так что дело не в том. а вот как раз таблица муршрутеризаций меня и смущает. только виноват тем, что так и не прочитал на эту тему мана!
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.1 * 255.255.255.255 UH 0 0 0 eth1
192.168.10.1 * 255.255.255.255 UH 0 0 0 ppp0
10.0.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default * 0.0.0.0 U 0 0 0 ppp0
ppp0 — это мой vpn.
На клиенте — только что смотрел, почему-то основной шлюз стоит 192.168.0.1. т.е. адрес сервака моего провайдера.
Destination Gateway Genmask Flags Metric Ref Use Iface
localhost.domok * 255.255.255.255 UH 0 0 0 eth1
10.0.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
вот без vpn. маску вин берет правильно. адрес dhcp сервера почему-то определяет как 192.168.0.78! это мой адрес, но на внешний, инетернетовский интерфейс. опять что-то странное!
Почитал все то, что сам выше написал и подправил dhcpd.conf. Теперь выдаю на клиента основной шлюз 10.0.0.1 (т.е. адрес сервера dhcp). Локальные ресурсы пошли (ура!!!). но джо конца не пашет, то есть то, ради чего затеял — интернет через vpn на клиентах не пашет все равно!
Мужики, большое спасибо! все заработало!
я переделал вот что — адрес шлюза на 10.0.0.1 и маскарад запустил еще один. Вот такой:
iptables -t nat -A postrouting -o ppp0 -j masquerade;
если честно, я плохо понимаю, как именно эта конструкци пашет (коль скоро для ppp0 даже не написано, от кого пакеты надо слать на ppp0!). в паре с написаным вами выше маскарадом все пашет будь здоров!
Если поясните, что там реально происходит — буду зело рад!
При 'MASQUERADE' АйПишник твоего интерфейса (в данном случае: ppp0) определяется «на лету». Поэтому не надо в правиле задавать его статически.
А насчёт «в паре с написаным вами выше маскарадом все пашет будь здоров», — мне почему-то кажется, что и без него всё должно работать (если ты про iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth1 -j SNAT --to-source 192.168.0.78). Кстати, и заработало ещё и потому, что у тебя, скорее всего, у клиентов был прописан шлюз, как 10.0.0.1, в то время как у самого шлюза IP был другой…
Ну это-то ладно, но мне ведь хочется не только на инет вывести клинетов, но и на локальные ресурсы! Хочется просто лезть на сервер провайдера бесплатно, коль такое счастье есть! И вот тут-то я не понимаю, почему после POSTROUTING -s 10.0.0.0/24 -o eth1 -j SNAT --to-source 192.168.0.78 на клиенете не идет инетернет! Ведь у меня на 10.0.0.1 идет! а клиентские пакеты переходят в мои! а мои уходят по правилам route уже на ppp0!
Теперь думаю, как строить защиту на фильтр. Да чтобы она мне нат пускала. Как понимаю, надо просто на форварде пропустить эти пакеты. не могу еще понять, какие бы правила понаписать на iptables чтобы было не мало! читал туториал, но там скрипт класса — делай так и все будет. а хочется понимать.
На фильтр чего?
фильтрующий Firewall. то есть фильтр всего ко мне входящего а так же исходящего.
ой-ёй-ёй.
вообще-то, насколько я понимаю, это «масло масленное». ;)
ну так почему до сих пор не обзавёлся iptables-tutorial с сайта http://opennet.ru/ (оно там, кстати, на русском)?
и строчку за строчкой не посидел и не подумал бы над моим конфигом. (кстати, далеко не самым лучшим, и всё-таки несколько избыточным. да-да, некоторые правила там избыточны.)
вот если что конкретно не получается понять — тогда бы и спрашивал.
ps: несмотря на то, что это именно tutorial, в нём имеется достаточно теории по теме фильтрации пакетов, чтобы пораздираться и понять, как и почему это дело работает.
Firewall, согласно исторической справке вообще имеет свое начало от стены в здании препятствующей переходу огня из одной части в другую! ну а если не быть формалистом, то вроде есть два вида файрволлов — сетевого уровня и уровня приложений (firewall-howto — едва ли документ). Так что, как я полагаю, надо еще не забывать про всякие intrunsion firewalls и portscan detection. это не назовешь фильтрующим до конца!
Туториал этот у меня есть. и проблема вовсе не в том, что не могу понять. я же говорил — проблема в том, что я не понимаю, зачем там стоит одно и не стоит другое! то есть я хотел бы видеть не скрипт, а правила! реализовать правила на iptables я уж смогу. а там ничего не объяснено.
потом у всех все свое. нельзя же всем использовать одно и то же!
Брэндмауэры (firewall) работают на сетевом уровне. И делятся на три категории: пакетный, сервисный и анализирующий. Что ты имел в виду под файерволлом «уровня приложений» я не знаю (может быть, как раз, сервисный файерволл или же анализирующий).
«intrunsion firewalls» — это сильно ;). Думаю, ты просто разбил понятие IDS на два: intrusion firewalls <font size=«-2»>(всё-таки забавно звучит ;). Ещё бы знать, что под этим понимается)</font> и portscan detection <font size=«-2»>(ну, это ещё более или менее понятно)</font>.
А что же ещё можно понимать в туториале, если не понимать для чего нужны одни правила, а для чего другие (и почему «там стоит одно и не стоит другое»)?
Если ты «пониманием» называешь понимание того, какая опция что делает, то тогда, по идее, зная свою задачу ты должен уметь собрать из известных опций нужные тебе правила цепочек файерволла. Прям как лепить фигурки из конструктора.
Ну, вот и делай своё. В туториале лишь пример, как можно сделать.