The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Ubuntu-server+NAT+forwarding"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Ubuntu-server+NAT+forwarding"  +/
Сообщение от Topol2m (ok) on 30-Июн-12, 00:06 
Приветствую. ПЛЗ, подскажите правильно ли настроен NAT и forwarding ?
Буду рад готовому рабочему рецепту. Заранее благодарен.
pS: очень долго копался с разными вариантами, ничего не выходит :(

Имеется два сервера:
- Первый eth0 - интернет (82.144.xxx.xxx), eth1 - LAN (192.168.1.1);
- Второй eth0 - LAN (192.168.1.2)
Нужно перебросить 82.144.xxx.xxx:8000 на 192.168.1.2:8000

Оба сервера на Ubuntu; net.ipv4.ip_forward=1 включен; 8000 порт открыт на обоих серверах.

Дамп iptables:

#iptables-save

# Generated by iptables-save v1.4.10 on Fri Jun 29 21:37:21 2012
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 82.144.xxx.xxx/32 -p tcp -m tcp --dport 8000 -j DNAT --to-destination 192.168.1.2:8000
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -d 192.168.1.2/32 -p tcp -m tcp --dport 8000 -j SNAT --to-source 82.144.xxx.xxx
COMMIT
# Completed on Fri Jun 29 21:37:21 2012
# Generated by iptables-save v1.4.10 on Fri Jun 29 21:37:21 2012
*filter
:INPUT DROP [4:160]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:banned_ip - [0:0]
:fail2ban-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -j banned_ip
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 8000 -j ACCEPT
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 32768:65535 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 32768:65535 -j ACCEPT  
-A OUTPUT -o eth0 -p tcp -m tcp --sport 8000 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 8000 -j ACCEPT  
-A fail2ban-ssh -s 190.181.132.70/32 -j DROP
-A fail2ban-ssh -j RETURN
COMMIT
# Completed on Fri Jun 29 21:37:21 2012

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от LSTemp (ok) on 30-Июн-12, 00:55 
>[оверквотинг удален]
> -A OUTPUT -o lo -j ACCEPT
> -A OUTPUT -p icmp -j ACCEPT
> -A OUTPUT -p tcp -m tcp --sport 32768:65535 -j ACCEPT
> -A OUTPUT -p udp -m udp --sport 32768:65535 -j ACCEPT
> -A OUTPUT -o eth0 -p tcp -m tcp --sport 8000 -j ACCEPT
> -A OUTPUT -o eth1 -p tcp -m tcp --sport 8000 -j ACCEPT
> -A fail2ban-ssh -s 190.181.132.70/32 -j DROP
> -A fail2ban-ssh -j RETURN
> COMMIT
> # Completed on Fri Jun 29 21:37:21 2012

man iptables. почитайте про таблицу NAT и цель DNAT и примените знания к серваку с белым ИП для проброса порта в серую сеть.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от КуКу (ok) on 30-Июн-12, 10:43 
Попробуйте явно объявить FORWARD на local_ip.

если неохота возится с iptables то для простого проброса порта попробуйте rinetd - дешево и сердито

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от Topol2m (ok) on 30-Июн-12, 13:54 
> Попробуйте явно объявить FORWARD на local_ip.

Как я понял добавить к уже прописанному iptables -A FORWARD -i eth0 -d 192.168.1.1 -j ACCEPT
Или я что-то путаю?

> если неохота возится с iptables то для простого проброса порта попробуйте rinetd
> - дешево и сердито

Вариант с rinetd я уже давно заприметил, но там форвардится только TCP а мне предстоит есче перебросить и UDP.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от КуКу (ok) on 30-Июн-12, 15:47 
да. И если не будет работать, то tcpdump'ом посмотреть где дропается
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от ALex_hha (ok) on 30-Июн-12, 23:33 
> Как я понял добавить к уже прописанному iptables -A FORWARD -i eth0
> -d 192.168.1.1 -j ACCEPT
> Или я что-то путаю?

путаешь

# iptables -I FORWARD -p tcp --dport 8000 -d 192.168.1.2 -j ACCEPT

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от КуКу (ok) on 01-Июл-12, 18:54 
iptables -A FORWARD -i eth0 -d 192.168.1.1 -j ACCEPT

А разве в этим правилом не разрешается весь трафик по любым портам форвардить для определенного адреса?

з.ы.
iptables -I FORWARD -p tcp --dport 8000 -d 192.168.1.2 -j ACCEPT

указан tcp, а выше человек заметил "[про rinetd]но там форвардится только TCP а мне предстоит есче перебросить и UDP."

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от LSTemp (ok) on 03-Июл-12, 02:23 
> iptables -A FORWARD -i eth0 -d 192.168.1.1 -j ACCEPT
> А разве в этим правилом не разрешается весь трафик по любым портам
> форвардить для определенного адреса?

это только форвард (разрешение транзита пакетов ч/з сервер к другому получателю).
и данное правило только для тестов может сойти. не хрен форвардить все подряд, что тебе пошлют снаружи, на свой локальный сервис.

необходима еще подмена адреса получателя (на 192.168.1.2 в твоем случае) при выходе пакета с сервера, чтобы пакет свою цель нашел в твоей локальной сети. ты про цель DNAT в таблице NAT, цепочка PREROUTING так и не прочитал? это и есть по сути проброс порта.

*NAT
-A PREROUTING -p tcp -d 82.144.xxx.xxx -dport 8000 -j DNAT --to-destination 192.168.1.2
в man смотри подробности.

и еще рекомендую почитать (по мере необходимости): http://www.opennet.me/docs/RUS/iptables/

это занятная штука со многими примерами. хоть и для старой версии, но тут главное логику работы и правила прохождения трафика ч/з IPT понять, а не тупо правила переписывать.


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от LSTemp (ok) on 03-Июл-12, 02:39 
[dubl post]

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от ALex_hha (ok) on 03-Июл-12, 19:05 
> з.ы.
> iptables -I FORWARD -p tcp --dport 8000 -d 192.168.1.2 -j ACCEPT
> указан tcp, а выше человек заметил "[про rinetd]

ну а кто мешает добавить второе правило
# iptables -I FORWARD -p udp --dport 8000 -d 192.168.1.2 -j ACCEPT

> но там форвардится только TCP а мне предстоит есче перебросить и UDP."

rinetd на линуксе это какое то извращение :D

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "Ubuntu-server+NAT+forwarding"  +/
Сообщение от LSTemp (ok) on 05-Июл-12, 02:55 
>> з.ы.
>> iptables -I FORWARD -p tcp --dport 8000 -d 192.168.1.2 -j ACCEPT
>> указан tcp, а выше человек заметил "[про rinetd]
> ну а кто мешает добавить второе правило
> # iptables -I FORWARD -p udp --dport 8000 -d 192.168.1.2 -j ACCEPT

а теперь скажи как пакет с ИП получателя 192.168.1.2 из твоей локальной сети выберется, пройдет по инету и попадет в его ИП 82.144.xxx.xxx? с каких это пор серые адреса в инете маршрутизируются? ему надо с белого ИП шлюза прокинуть порт сервиса во внутренюю сеть.

чем твои правила помогут?

>> но там форвардится только TCP а мне предстоит есче перебросить и UDP."
> rinetd на линуксе это какое то извращение :D

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру