Редирект портов.

Автор: CHPOKS Дата: 23.02.2010 19:46 Изучаю iptables, нужен совет.
eth0 - внешний интерфейс.
eth1 - внутренний.

Сейчас закрты все порты на всех интерфейсах кроме 22-го на внешней.
Можно сдлать дополнитеьную зашиту, например открыть 22 порт во внутренней сети, а на внешней открыть к примеру 5222. И сделать редерект 5222 порта на внутрениий 22.
Ну 22 понятно, что SSH, а так открыт 5222 на котором нет никакой слыжбы.
Вопрос 1. Идея верная?

Вопрос второй, как реализовать это? Правильно ли я понял, что пернаправдение портов тут будет такое - же, как и при перенаправлении портов с внешней сетевой карты сервера на сетевую карту клиентской машины?
т.е. так:
1. в таблице filter
я открываю порт 5222 на внешней и 22 на внутреней.
-A INPUT -i eth0 -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
2. в таблице *nat
я прописываю построутинг и прероутинг.
-I PREROUTING -d eth0 -p tcp --dport 5222 -J DNAT --to-destination eth1:22
-i POSTROUTING -s eth1 -o eth0 -p tcp -j SNAT --to-source eth1:5222
Проверьте пожалуйсто синтаксис, ато по синтаксису толкового описания нет поменял как смог.
или может не так?
заранее спасибо!
Re: Редирект портов. 23.02.2010 20:19CHPOKS Неработает, блин, блинский)
[root@localhost sysconfig]# iptables -I PREROUTING -d eth0 -p tcp --dport 5222 -j DNAT --to-destination eth1:22
iptables v1.3.8: Bad IP address `eth1'
Try `iptables -h' or 'iptables --help' for more information.
[root@localhost sysconfig]# iptables -I PREROUTING -d 192.168.10.222 -p tcp --dport 5222 -j DNAT --to-destination 192.168.5.222:22
iptables: No chain/target/match by that name
Re: Редирект портов. 25.02.2010 20:32skv- Лучше установите openvpn. Тогда вам не нужен будет редирект.
На внешнем интерфейсе закрываете все, кроме порта openvpn.
После поднятия vpn Вам будет доступен внутренний интерфейс, на него и коннектитесь.
Re: Редирект портов. 25.02.2010 20:54CHPOKS skv-
спс за ответ.
но задача всёж изучить iptables, а не реализовать какую-то задачу по проще.
тем не менее, я учту совет о том, что сейчас все используют openvpn и попробую его тоже, но позже-)
Re: Редирект портов. 26.02.2010 14:24Cherepulya iptables -t nat -I PREROUTING 1 -d 192.168.10.222 -p tcp -m tcp --dport 5222 -j REDIRECT --to-port 22


При перекидывании порта на этот же хост исползуется REDIRECT
Re: Редирект портов. 26.02.2010 14:37Cherepulya да,

/etc/ssh/sshd_config


Port 22


изменить на желаемый и перезапустить. И не нужно городить правило НАТа
Re: Редирект портов. 26.02.2010 16:14CHPOKS Cherepulya
спс за ответ.
я лучьше спрошу несколько раз и пойму, чем непоняв заброшу ...

Эту строку я конечно видил на страничке iptables.ru но там не указано второго интерфейса.
* конечно я прочёл ваше пояснение, но всёж переспрошу:

1. Правильно ли я понял, что если речь идёт об одном хосте (сервере), то он автоматически поймёт, что реч идёт о втором интерфейсе.
Т.е. внешний интерфейс у меня 192.168.10.222 с порта 5222 он прокинет на внутренний интерфейс 192.168.5.222 на порт 22 и обратно соответственно?
А как быть если там 3-4 сетевый карты? он что? с одной на все прокинет?
-------------------------------
повторю, задача такая, чтоб на внешнем интерфейсеу меня был открыт только 5222 порт. а на внутреннем, стандартный 22. И чтоб он как "ПортМапинг" делал. И конечно хорошо бы еслиб было полное указание (можно по IP), но хотелосьбы конечно по устройству ... например взять с eth0 c порта 5222 и направить на eth1 на порт 22 и обратно ...
потому что изучаю 1 раз, мало ли, где-то окажется динамический адрес, или модем ...

Заранее спасибо.
Re: Редирект портов. 26.02.2010 20:56Cherepulya ну сделать так:

iptables -t nat -I PREROUTING 1 -i eth0 -d 192.168.10.222 -p tcp -m tcp --dport 5222 -j REDIRECT --to-port 22
iptables -I INPUT 1 -i eth0 -s !127.0.0.1 -p tcp -m tcp --dport 22 -j DROP


Так будет редиректить пакеты входящие только на eth0 (ну а на 22й порт не пускать)



А насчет "прокинуть на внутренний интерфейс" - зачем? интерфейсы равноценны, и sshd будет слушать на всех если явно не настроить обратное.

Итого имеем: несколько сетевых интерфейсов. sshd слушает 22й порт на всех. На одном интерфейсе закрываем 22й порт со стороны, и делаем на него переадресацию с нужного порта.
Re: Редирект портов. 26.02.2010 22:45CHPOKS Cherepulya
Спасибо Большое.
Дальше попробую разобраться сам. Всеровно мне надо разобрться с "ключами" (синтаксисом).

Просто редирект портов имеет множество реализаций. Например закрыть изнутри 25 порт перенаправив его на другой, чтоб трояны не делали рассылок. Или какие нибудь спецфически програмы могут по требовать. А я так и не увидил цепочку типа
eth0(port1) <==> eth1(port2) Может я конечно пока что-то не понял. Значит буду решать проблемы по мее их поступления.
(если конечн в вашем примере ip 192.168.10.222 не подразумивается как внутренний) Он внешний, но возможно это опечатка.

Спасбо большое за помощь, уменя уже есть информация для рассуждения. Попробую немнго сам, если опять зайду в тупик, опяь буду расчитывать на вашу помощь.
спс ещё раз.
RSS-материал