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


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

Автор Тема: Внимание Конкурс ! знатокам iproute iptablesи т.д.  (Прочитано 2625 раз)

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

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
робею спросить, а что такое в шабанге? :)
http://en.wikipedia.org/wiki/Shebang_%28Unix%29

скрипты  я на эту тему проверял, выполняются от начала до конца, все строки проходят!
Ну как ты думаешь, куда могла исчезнуть целая таблица, в которой главные правила, отвечающие за маркировку пакетов?
Если проверял ручным запуском, то это не то. Во-первых окружение другое, соответственно инициализация системы уже пройдена, в отличии от запуска иситемой rc.local, и опция -e в интерактиве не даёт такой эффект.

Оффлайн demarco

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Судя по первому посту я сам их и заремил! есть там пара строчек типа -A OUTPUT -i eth0 -t mangle -j MARK 2

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

не подскажете что там должно быть то в этой таблице!

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Так скрипт не ты что ли писал? Тогда лучше заново всё переделать.

Оффлайн demarco

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
скрипт то писал я:) но мне его помогали писать! т.е. прямо в онлайне проверяли че пашет а что нет! как все заработало на том и остановились :) 2 года работало на ура:) пока ситуация не поменялась!

я уж и заново пробовал, да все мысли с оглядкой на ту конфу получаются, в итоге ничего не работает, либо работает не так!
хочется именно логику понять что бы значит при изменении условий и ситуации, можно было адекватно реагировать а не помощи выпрашивать на форумах:)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн demarco

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Логика.

примеры в студию плиз!

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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
А просто пальцем по карте провести, представив себя пакетом - никак?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн demarco

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
к сожалению никак! плохо у меня с абстрактным мышлением, никак себя пакетом представить не могу :)

Пользователь решил продолжить мысль 21 Июля 2010, 11:58:17:
к сожалению никак! плохо у меня с абстрактным мышлением, никак себя пакетом представить не могу :)

я так понимаю что мне всего то надо сделать так что бы пакеты которые получаются на каком либо интерфейсе с него же и уходили, причем здесь маркировка? маркировка я так понимаю мне нужна если я хочу разделить траф между провайдерами или интерфейсами, но мне это не надо пока. Мне надо что бы пакеты все шли через впн, а то что приходило с внешки с разных провов на тех же провов и уходило! или для этого тоже необходима маркировка? я же вроде прописал шлюзы по умолчанию для каждого интерфейса, или я мылю не в ту сторону?
« Последнее редактирование: 21 Июля 2010, 11:58:17 от demarco »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
а то что приходило с внешки с разных провов на тех же провов и уходило! или для этого тоже необходима маркировка?
Именно!

Оффлайн demarco

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
правильно ли я понял, должны добавится правила вида?

1) iptables -A PREROUTING -i eth(N) -t mangle -j MARK --set-mark (N) где N соответственно номер интерфейса и номер соответствующей ему метки описанной в ip rule add fwmark для нужной таблицы маршрутизации?

2) iptables -A OUTPUT -t mangle -d ! 192.168.0.0/24 -j MARK --set-mark 4
это тпа что бы все шло через впн, потому как 4 метка на inet3 а он на впн, и маскарадинг тоже через впн
вот таким макаром прописан
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o tun0 -j MASQUERADE

или еще должны быть правила OUTPUT c метками на каждую таблицу , т.е. 2 и 3 соответсвенно
« Последнее редактирование: 21 Июля 2010, 12:14:50 от demarco »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
1. Дефолтный выход в интернет (через впн) запихивать в отдельную таблицу нет смысла и маркировать его не надо
2. Маршрут к впн-серваку должен быть поднят через одного из провайдеров. Типа route add -host ип.адр.впн.срв gw ип.адр.шлюз.пров
3. Маркировать лучше сначала с помощью connmark а затем по connmark делать mark, который уже понимает iproute. См. пример http://blog.khax.net/2009/11/28/multi-gateway-routing-with-iptables-and-iproute2/
4. Хрен его знает, что делать с пассивным режимом ftp в силу его ущербности. Непонятно как привязывать сессию данных к управляющей сессии. Возможно надо ковырять nf_conntrack_ftp.

Оффлайн demarco

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
1. Дефолтный выход в интернет (через впн) запихивать в отдельную таблицу нет смысла и маркировать его не надо
2. Маршрут к впн-серваку должен быть поднят через одного из провайдеров. Типа route add -host ип.адр.впн.срв gw ип.адр.шлюз.пров
3. Маркировать лучше сначала с помощью connmark а затем по connmark делать mark, который уже понимает iproute. См. пример http://blog.khax.net/2009/11/28/multi-gateway-routing-with-iptables-and-iproute2/
4. Хрен его знает, что делать с пассивным режимом ftp в силу его ущербности. Непонятно как привязывать сессию данных к управляющей сессии. Возможно надо ковырять nf_conntrack_ftp.

1) понял
2) уже сделано

3-4) труба!

странно! все ведь работало до появления подключения по впн. и проброс и фтп на ура и инет (через сквид), как добавили впн все умерло! что дело именно в впн? или в особенностях работы с ним?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
странно! все ведь работало
Вот все что написано в первом посте это тихий ужас. Чего только стоит определение направления по днс, которое так и не может работать. А фтп трафик например только через одного провайдера мог уходить.

что дело именно в впн? или в особенностях работы с ним?
Всё дело в сквиде.

3-4) труба!
3. Наверное что-то типа того, за правильность не ручаюсь:
ip rule add fwmark 1 lookup 10
ip rule add fwmark 2 lookup 20
ip route add 192.168.0.0/24 dev eth0 table 10
ip route add default via 192.168.1.1 table 10
ip route add 192.168.0.0/24 dev eth0 table 20
ip route add default via 192.168.2.1 table 20


iptables -t mangle -A PREROUTING -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A OUTPUT -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i eth2 -m state --state NEW -j CONNMARK --set-mark 1
iptables -t mangle -A PREROUTING -i eth1 -m state --state NEW -j CONNMARK --set-mark 2
iptables -t mangle -A PREROUTING -m connmark --mark 1 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -m connmark --mark 2 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -m state --state NEW -m connmark ! --mark 0 -j CONNMARK --save-mark

iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1-j MASQUERADE

iptables -t nat -N VSERVER
iptables -t nat -A PREROUTING -d 192.168.1.2 -j VSERVER
iptables -t nat -A PREROUTING -d 192.168.2.2 -j VSERVER

iptables -t nat -A VSERVER -p tcp --dport 2112 -j DNAT --to 192.168.0.11:21
iptables -t nat -A VSERVER -p tcp --dport 1433 -j DNAT --to 192.168.0.11
iptables -t nat -A VSERVER -p tcp --dport 1434 -j DNAT --to 192.168.0.11
iptables -t nat -A VSERVER -p tcp --dport 8888 -j DNAT --to 192.168.0.11:80
iptables -t nat -A VSERVER -p tcp --dport 8080 -j DNAT --to 192.168.0.11:80
iptables -t nat -A VSERVER -p tcp --dport 26070 -j DNAT --to 192.168.0.11

iptables -t nat -A VSERVER -p tcp --dport 5800 -j DNAT --to 192.168.0.51
iptables -t nat -A VSERVER -p tcp --dport 5900 -j DNAT --to 192.168.0.51
iptables -t nat -A VSERVER -p tcp --dport 3389 -j DNAT --to 192.168.0.51

Оффлайн demarco

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Выбор направления по ДНС, был сделан так для того что бы изобразить балансировку провайдеров, типа если один отрубился то люди кому надо поставили днс другого провайдера и траф пошел через него, все осложняется тем что кому то надо давать инет а кому то не надо в момент когда пропадает инет:)
Если тупо всех переключить на другого провайдера то взлетит траффик а это не есть хорошо в той ситуации было!

Фтп действительно должен был ходить только через одного определенного провайдера!

да кстати, в том режиме все работало :)

попробую с помощью Ваших последних советов переиначить на свою систему


Пользователь решил продолжить мысль 21 Июля 2010, 14:48:38:

iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1-j MASQUERADE
!!! сюда случайно не надо  iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE что бы все через впн ушло?

Цитировать
iptables -t nat -N VSERVER
iptables -t nat -A PREROUTING -d 192.168.1.2 -j VSERVER
iptables -t nat -A PREROUTING -d 192.168.2.2 -j VSERVER

iptables -t nat -A VSERVER -p tcp --dport 2112 -j DNAT --to 192.168.0.11:21
iptables -t nat -A VSERVER -p tcp --dport 1433 -j DNAT --to 192.168.0.11
!!! а для этого финта вот такая канитель не нужна?
iptables -t nat -A POSTROUTING -d 192.168.0.11 -p tcp -m tcp --dport 21 -j SNAT --to-source 192.168.2.2
« Последнее редактирование: 21 Июля 2010, 14:52:49 от demarco »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
!!! сюда случайно не надо  iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE что бы все через впн ушло?
Это всё зависит от того, как ты его любишь готовить. У тебя сейчас вроде как так и работает, значит надо.

!!! а для этого финта вот такая канитель не нужна?
iptables -t nat -A POSTROUTING -d 192.168.0.11 -p tcp -m tcp --dport 21 -j SNAT --to-source 192.168.2.2
Не, не надо. Незачем подменять адрес источника.

 

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