Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: переобразование IP в iptables  (Прочитано 5303 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #15 : 19 Ноября 2012, 20:14:59 »
да шлюзы разные !!!

Код: (text) [Выделить]
netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         89.175.99.189   0.0.0.0         UG        0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth1
89.1*.9*.1*     0.0.0.0         255.255.255.252 U         0 0          0 eth0
21*.4*.**.1**   0.0.0.0         255.255.255.248 U         0 0          0 eth0
Где они разные?
(Нажмите, чтобы показать/скрыть)
OpenWrt 19.07

Оффлайн Finalls

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #16 : 20 Ноября 2012, 00:14:13 »
попробывал 2 способа если я конечно все правильно понял.....

iptables -A INPUT -i lo -j ACCEPT
iptables -t nat -A PREROUTING -d 21*.4*.**.1** -j DNAT --to-destination 10.0.0.4
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128

и так

iptables -A INPUT -i lo -j ACCEPT
iptables -t nat -A PREROUTING -d 10.0.0.4 -j DNAT --to-destination 21*.4*.**.1**
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128


В первом случае появилиь проблемы со связью шлюза с наружи , со вторым  вариантом связь была... нов обоих случаях ип на всех машинах и на 10.0.0.4 выдает этот 89.1*.9*.1*




Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #17 : 20 Ноября 2012, 03:21:09 »
Ребят, что-то вы как-то слегка того. Тупите, можно сказать. Ну или "тормозите", как наши политкорректные друзья любят выражопываться.
Finalls, хватит нас тут креативной нарезкой правил кормить.
Показывайте iptables-save.
Явно же, у вас проблема где-то посередине.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Finalls

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #18 : 20 Ноября 2012, 08:09:00 »
Ребят, что-то вы как-то слегка того. Тупите, можно сказать. Ну или "тормозите", как наши политкорректные друзья любят выражопываться.
Finalls, хватит нас тут креативной нарезкой правил кормить.
Показывайте iptables-save.
Явно же, у вас проблема где-то посередине.

root@cisco:~#  iptables-save
# Generated by iptables-save v1.4.12 on Tue Nov 20 07:44:53 2012
*nat
:PREROUTING ACCEPT [627:60766]
:INPUT ACCEPT [223:18321]
:OUTPUT ACCEPT [141:9972]
:POSTROUTING ACCEPT [19:1146]
-A PREROUTING -d 21*.4*.**.1*/32 -p tcp -m tcp --dport 2221 -j DNAT --to-destination 10.0.0.12:2221
-A PREROUTING -d 89.1*.9*.1*/32 -p tcp -m tcp --dport 19455 -j DNAT --to-destination 10.0.0.9:3389
-A PREROUTING -d 89.1*.9*.1*/32 -p tcp -m tcp --dport 55555 -j DNAT --to-destination 10.0.0.40:3389
-A PREROUTING -d 89.1*.9*.1*/32 -p tcp -m tcp --dport 19460 -j DNAT --to-destination 10.0.0.6:3389
-A PREROUTING -d 89.1*.9*.1*/32 -p tcp -m tcp --dport 19459 -j DNAT --to-destination 10.0.0.3:3389
-A PREROUTING -d 10.0.0.4/32 -j DNAT --to-destination 21*.4*.**.1*
-A PREROUTING -i eth1 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
-A PREROUTING -d 21*.4*.**.1*/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 10.0.0.4
-A PREROUTING -d 21*.4*.**.1*/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.4
-A PREROUTING -d 21*.4*.**.1*/32 -p tcp -m tcp --dport 110 -j DNAT --to-destination 10.0.0.4
-A PREROUTING -d 21*.4*.**.1*/32 -p tcp -m tcp --dport 143 -j DNAT --to-destination 10.0.0.4
-A PREROUTING -d 21*.4*.**.1*/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.0.0.4
-A PREROUTING -d 21*.4*.**.1*/32 -j DNAT --to-destination 10.0.0.7
-A POSTROUTING -o eth0 -j SNAT --to-source 21*.4*.**.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
COMMIT
# Completed on Tue Nov 20 07:44:53 2012
# Generated by iptables-save v1.4.12 on Tue Nov 20 07:44:53 2012
*filter
:INPUT ACCEPT [551:118480]
:FORWARD ACCEPT [2211:581522]
:OUTPUT ACCEPT [589:81983]
-A INPUT -i lo -j ACCEPT
-A INPUT -s 92.50.149.218/32 -i eth0 -j LOG --log-prefix "IP DROP SPOOF A:"
COMMIT
# Completed on Tue

вот !!!

Пользователь решил продолжить мысль 20 Ноября 2012, 11:39:24:
Блин капец уже даже не знаю куда рыть... не ужели не кто с таким не сталкивался ?!! :idiot2:
« Последнее редактирование: 20 Ноября 2012, 11:39:24 от Finalls »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #19 : 20 Ноября 2012, 12:45:11 »
Конечно не сталкивались. Ибо такого ужаса я ещё не видел...
Сейчас нет времени писать полностью, но проблема очевидна.

-A POSTROUTING -o eth0 -j SNAT --to-source 21*.4*.**.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Finalls

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #20 : 20 Ноября 2012, 13:06:59 »
Конечно не сталкивались. Ибо такого ужаса я ещё не видел...
Сейчас нет времени писать полностью, но проблема очевидна.

-A POSTROUTING -o eth0 -j SNAT --to-source 21*.4*.**.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*

Если не затруднит ка кбудет время по подробнее описать !!!

Пользователь решил продолжить мысль 20 Ноября 2012, 13:32:59:
Заметил ещё вот такую странную фигню то чтокогда смотрю iptables-save  после загрузки он выглядит так
(Нажмите, чтобы показать/скрыть)

А спустя 5 минут он уже выглядит иначе !!!
Вот так
(Нажмите, чтобы показать/скрыть)


Они почему то начинают задваиватся... все правила прописаны в отдельном файле и запускаются строчкой post-up /etc/nat-up
а запускаются с /etc/network/interfaces

« Последнее редактирование: 20 Ноября 2012, 13:32:59 от Finalls »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #21 : 20 Ноября 2012, 14:02:42 »
Сейчас нет времени писать полностью, но проблема очевидна.

-A POSTROUTING -o eth0 -j SNAT --to-source 21*.4*.**.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
-A POSTROUTING -o eth0 -j SNAT --to-source 89.1*.9*.1*
Эммм... может в этих проблемных правилах поставить ещё условие, например -s ......, потому как пакет на первом же правиле отработает маскарад и уйдёт из цепочки.

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1695
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #22 : 20 Ноября 2012, 14:21:43 »
Finalls, ты бы скрипт со своими "iptables -A" убрал из запускаемых при старте системы. Лучше измени скрипт на:
#!/bin/bash

iptables-restore < /etc/firewall.rc

exit 0
И все изменения в iptables сохраняй через:
iptables-save > /etc/firewall.rcТогда не будет дублировать правила.
« Последнее редактирование: 20 Ноября 2012, 14:23:29 от Protopopulus »
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн Finalls

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #23 : 20 Ноября 2012, 15:32:26 »
Finalls, ты бы скрипт со своими "iptables -A" убрал из запускаемых при старте системы. Лучше измени скрипт на:
#!/bin/bash

iptables-restore < /etc/firewall.rc

exit 0
И все изменения в iptables сохраняй через:
iptables-save > /etc/firewall.rcТогда не будет дублировать правила.

Сделал он вместо того чтобы их читать оттуда он записывает в этот файлик  firewall.rc

Пользователь решил продолжить мысль 20 Ноября 2012, 15:37:06:
А вот собственно все что храниться в том файлиек
natup
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 20 Ноября 2012, 15:37:06 от Finalls »

Оффлайн Finalls

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #24 : 20 Ноября 2012, 15:49:57 »
Нету у меня папочки sysconfig !

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1695
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #25 : 20 Ноября 2012, 15:55:18 »
Finalls, в твоем файлике хранится ДОБАВЛЕНИЕ правил. Сделай по инструкции и будет тебе щасте.
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #26 : 21 Ноября 2012, 04:16:51 »
fisher74, реально это надо решать через маркировку соединений. Чтобы полностью исключить любую дурь.
Finalls, потерпите денёк? Я только пришел с работы и валюсь с ног. Завтра-послезавтра набросаю вам примерную схему.
А пока последуйте доброму совету, и переделайте загрузку правил на iptables-restore.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн MaDRideR

  • Участник
  • *
  • Сообщений: 142
  • OS X 10.9 Mavericks
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #27 : 21 Ноября 2012, 05:30:43 »
во-первых, если у вас стоит ubuntu то каким образом у вас настроена автозагрзка правил при включении сервера?
второе.

Как я понял ситуация следующая.

eth0 - на нем висит белый провайдерский адрес
eth0:1 2 3 какие то еще дополнительные белые адреса
eth1 - за ним находится локальная сеть которую вы пускаете через себя в интернет.

тогда что бы у вас все работало должно быть так

-t nat -A POSTROUTING -s 10.0.0.4 -o eth0 -j SNAT --to-source IP (указываеие IP который нужен именно для этого хоста)
-t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j SNAT --to-source IP (указываете IP который будет который нужен для ВСЕЙ сети)
IP указывать внешние после --to-source те которые выдал провайдер.
никаких eth0:1 или eth0:2 не надо делать, это алиясы, iptables на сколько я помню с ними не работает, да оно и не надо тут.



Пользователь решил продолжить мысль 21 Ноября 2012, 05:37:53:
ага, не сразу я еще понял что белые ip на одном интерфейсе еще и с разных абослютно сетей....

Пользователь решил продолжить мысль 21 Ноября 2012, 06:17:46:
Вообщем тебе надо не iptables рыть, а маршрутизацию.... потому что пометить пакеты в iptables и сделать nat это не проблема.... вот честно говоря как маршрутизировать это чудо, не знаю пока... посмотрю может скажу что то более умное.
« Последнее редактирование: 21 Ноября 2012, 06:17:46 от MaDRideR »
OS X 10.9
Деятельность. Интернет сети и маршрутизация

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #28 : 21 Ноября 2012, 21:21:25 »
Оригинальные посылки из http://anr-daemon.livejournal.com/1655.html

Общая система где-то такая:

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

:LAN_4 - [0:0]
:EXT_1 - [0:0]

# Пропускаем локальный трафик.
-A PREROUTING -i lo -j ACCEPT
-A PREROUTING -s 10.0.0.0/8 -d 10.0.0.0/8 -j ACCEPT

# Проверяем, что пакет относится к установлению нового соединения, и
# маркируем его.

# Исходящие пакеты с серверов внутри сети.
-A PREROUTING -s 10.0.0.4/32 -m conntrack --ctstate NEW,RELATED -j LAN_4
# Входящие пакеты на внешние адреса
-A PREROUTING -d 89.1.2.3/32 -m conntrack --ctstate NEW,RELATED -j EXT_1

# После того, как пакет (не)побывал в соответствующей цепочке и (не)получил
# марку для своего соединения, скопируем эту марку в сам пакет.
-A PREROUTING -j CONNMARK --restore-mark

# Обратите внимание, в исходящем трафике мы только восстанавливаем маркировку.
# Если это новое исходящее соединение, первый пакет в нём будет немаркированый
# и уйдёт через шлюз по умолчанию, но ответ на него уже попадёт под одно из
# правил на входе и получит марку нормальным порядком.
-A OUTPUT -j CONNMARK --restore-mark

# 10.0.0.4 => 89.1.2.4
-A LAN_4 -j CONNMARK --set-mark 1
# 10.0.0.3 <= 89.1.2.3
-A EXT_1 -j CONNMARK --set-mark 2
COMMIT
*nat
:PREROUTING
:POSTROUTING
-A PREROUTING -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A PREROUTING -i eth0 -m connmark --mark 2 -j DNAT --to-destination 10.0.0.3
-A POSTROUTING -o eth0 -m connmark --mark 1 -j SNAT --to-source 89.1.2.4
-A POSTROUTING -o eth0 -m connmark --mark 3 -j SNAT --to-source 89.1.2.3
COMMIT

Плюс, конечно, правильные маршруты по маркам.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: переобразование IP в iptables
« Ответ #29 : 21 Ноября 2012, 21:42:25 »
eth0 - на нем висит белый провайдерский адрес
eth0:1 2 3 какие то еще дополнительные белые адреса
eth1 - за ним находится локальная сеть которую вы пускаете через себя в интернет.
<skip>
честно говоря как маршрутизировать это чудо, не знаю пока...
Вообще говоря, можно сделать алиасы не на шлюзе, а на хостах, а на шлюзе достаточно маршрута в локальную сеть.
И да, повторюсь, тут достаточно SNAT/DNAT (даже алиасов не надо), а вы уже в марки полезли.
вы как-то слегка того. Тупите, можно сказать.
« Последнее редактирование: 21 Ноября 2012, 21:56:46 от KT315 »
OpenWrt 19.07

 

Страница сгенерирована за 0.021 секунд. Запросов: 21.