iptables + 2 интерфейса

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

P@nzer
Сообщения: 14

iptables + 2 интерфейса

Сообщение P@nzer »

Помогите, пожалуйста, с небольшой задачей справится


iptables -t nat -A PREROUTING --dst *** -p tcp --dport 110 -j DNAT --to-destination -o eth1

Задача: перенаправление всего POP3 трафика на другой интерфейс
Проблема: что указать в ip получателя (там где *** стоят). Я какой только адрес или диапазон не писал - не проходит. Как я понимаю, там надо указать диапазон всех ip, чтобы любой POP3 перенаправлялся. Или я чего-то напутал, первый раз все таки с iptables столкнулся
Спасибо сказали:
koluchy
Сообщения: 109
ОС: openSUSE (Novell)

Re: iptables + 2 интерфейса

Сообщение koluchy »

P@nzer писал(а):
28.09.2007 11:22
Помогите, пожалуйста, с небольшой задачей справится


iptables -t nat -A PREROUTING --dst *** -p tcp --dport 110 -j DNAT --to-destination -o eth1

Задача: перенаправление всего POP3 трафика на другой интерфейс
Проблема: что указать в ip получателя (там где *** стоят). Я какой только адрес или диапазон не писал - не проходит. Как я понимаю, там надо указать диапазон всех ip, чтобы любой POP3 перенаправлялся. Или я чего-то напутал, первый раз все таки с iptables столкнулся


ну если тебе нужно направить трафик на другой интерфейс то ты должен использовать таблицу filter цепочку forward а не nat prerouting.
А DNAT служит для преобразования адреса места назначения в IP заголовке пакета.
Говорила мне мама не работай под рутом.
Спасибо сказали:
P@nzer
Сообщения: 14

Re: iptables + 2 интерфейса

Сообщение P@nzer »

Спасибо за быстрый ответ )

Вот такая команда будет правильной?
iptables -t filter -A FORWARD -p tcp --dport 110 -j ACCEPT -o eth1
Спасибо сказали:
Аватара пользователя
McLeod095
Сообщения: 477
ОС: Люблю слаку

Re: iptables + 2 интерфейса

Сообщение McLeod095 »

читем доки и понимаем что перенаправлять весь трафик в цепочке FORWARD не получится она просто не умеет этого делать. -nat PREROUTING как раз для этого и предназначена, потому как не изменив адрес назначения у нас ни один пакет предназнгаченный для этой машины не попадет в цепочку FORWARD,
Читаем опять доку и смотрим что DNAT не держит перенаправление на интерфейс а только на ip. теперь если у тебя 2 интерфейса один 192,168,1,1 а другой 172,16,1,1 и тебе надо с первого на второй заворачивать
пишем
IPTABLES -t nat -A PREROUTING -d 192.168.1.1 --dport 110 -p tcp -j DNAT --to-destination 172.16.1.1
IPTABLES -A FORWARD -i $ETH_192.168.1.1 -o $ETH_172.16.1.1 -d 172.16.1.1 -p tcp --dport 110 -j ACCEPT
IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

дальше сам поковыряй там все просто и понятно.
"Work PC" E6750/2GB/Asus P5B Deluxe/2x250GB/6600GT 128/Slackware Current (Win 2003 in VmWare)
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
Спасибо сказали:
koluchy
Сообщения: 109
ОС: openSUSE (Novell)

Re: iptables + 2 интерфейса

Сообщение koluchy »

ну как разобрался?
Говорила мне мама не работай под рутом.
Спасибо сказали:
1Space
Сообщения: 32
ОС: Ubuntu 8.04

Re: iptables + 2 интерфейса

Сообщение 1Space »

А какой смысл перенаправлять в данном случае на другой интерфейс, особенно если их вообще два ?
Спасибо сказали:
P@nzer
Сообщения: 14

Re: iptables + 2 интерфейса

Сообщение P@nzer »

McLeod095 писал(а):
01.10.2007 11:57
теперь если у тебя 2 интерфейса один 192,168,1,1 а другой 172,16,1,1 и тебе надо с первого на второй заворачивать

:blush: только ногами не пинайте - а как узнать ip интерфейса
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: iptables + 2 интерфейса

Сообщение Voice »

ifconfig
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
P@nzer
Сообщения: 14

Re: iptables + 2 интерфейса

Сообщение P@nzer »

McLeod095 писал(а):
01.10.2007 11:57
IPTABLES -t nat -A PREROUTING -d 192.168.1.1 --dport 110 -p tcp -j DNAT --to-destination 172.16.1.1


Если я пишу вот так:
iptables -t nat -A PREROUTING -d ip_eth0 --dport 110 -p tcp -j DNAT --to-destination ip_eth1
ругается на --dport

А если так:
iptables -t nat -A PREROUTING -d ip_eth0 -dport 110 -p tcp -j DNAT --to-destination ip_eth1
то ругается multiple -d flags not allowed

Не понима-а-а-ю...
Спасибо сказали:
P@nzer
Сообщения: 14

Re: iptables + 2 интерфейса

Сообщение P@nzer »

Со всем разобрался, кроме этой ошибки с --dport, подскажите почему не проходит команда
iptables -t nat -A PREROUTING -d ip_eth0 --dport 110 -p tcp -j DNAT -to-destination ip_eth1

iptables говорит что не не знает аргумента --dport (iptables v1.2.11: Unknown arg `--dport')
Спасибо сказали:
aliens
Сообщения: 495
Статус: нетрушный
ОС: Gentoo & CentOS 5.1

Re: iptables + 2 интерфейса

Сообщение aliens »

P@nzer,
читайте ман, про действие и использование DNAT
iptables -t nat -A PREROUTING -p tcp -d ip_eth0 --dport 80 -j DNAT --to-destination ip_eth1
Спасибо сказали:
Kostman
Сообщения: 10
ОС: Mandriva 2008

Re: iptables + 2 интерфейса

Сообщение Kostman »

P@nzer писал(а):
11.10.2007 09:48
Со всем разобрался, кроме этой ошибки с --dport, подскажите почему не проходит команда
iptables -t nat -A PREROUTING -d ip_eth0 --dport 110 -p tcp -j DNAT -to-destination ip_eth1

iptables говорит что не не знает аргумента --dport (iptables v1.2.11: Unknown arg `--dport')


(Не вникая в суть проблемы) по поводу "не знает аргумента", я думаю - надо сначала указывать протокол (-p tcp) а потом --dport 110
возможно и ошибаюсь...
Чем больше я узнаю людей, тем больше я люблю компьютеры
Спасибо сказали:
Аватара пользователя
vtur
Сообщения: 29
ОС: ALT Linux

Re: iptables + 2 интерфейса

Сообщение vtur »

P@nzer писал(а):
11.10.2007 09:48
Со всем разобрался, кроме этой ошибки с --dport, подскажите почему не проходит команда
iptables -t nat -A PREROUTING -d ip_eth0 --dport 110 -p tcp -j DNAT -to-destination ip_eth1

iptables говорит что не не знает аргумента --dport (iptables v1.2.11: Unknown arg `--dport')


а разве не надо объявлять переменные ip_eth0 и ip_eth0, которые используются в данном случае?
то есть, в начале скрипта
ip_eth0=1.2.3.4
ip_eth1=192.168.1.1
и в тексте скрипта использовать уже объявленные переменные
iptables -t nat -A PREROUTING -d $ip_eth0 --dport 110 -p tcp -j DNAT -to-destination $ip_eth1
Спасибо сказали:
P@nzer
Сообщения: 14

Re: iptables + 2 интерфейса

Сообщение P@nzer »

vtur писал(а):
13.11.2007 23:32
P@nzer писал(а):
11.10.2007 09:48
Со всем разобрался, кроме этой ошибки с --dport, подскажите почему не проходит команда
iptables -t nat -A PREROUTING -d ip_eth0 --dport 110 -p tcp -j DNAT -to-destination ip_eth1

iptables говорит что не не знает аргумента --dport (iptables v1.2.11: Unknown arg `--dport')


а разве не надо объявлять переменные ip_eth0 и ip_eth0, которые используются в данном случае?
то есть, в начале скрипта
ip_eth0=1.2.3.4
ip_eth1=192.168.1.1
и в тексте скрипта использовать уже объявленные переменные
iptables -t nat -A PREROUTING -d $ip_eth0 --dport 110 -p tcp -j DNAT -to-destination $ip_eth1

Я так для наглядности написал. Вообще-то я в настоящей команде не ip_eth0 писал, а ip сетевухи
А вообще, с предыдущей ошибкой я разобрался.
Спасибо сказали: