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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: помогите пожалуйста допилить nat iptables  (Прочитано 1229 раз)

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

Оффлайн Elaugaste

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Есть комп выделенный под фаервол и проксю (ubuntu server 9.10 2.6.31-14), к инету подключаеться по pppoe (eth4,ppp0) сайты смотрим по проксе squid, а под проги которые не могут ходить по проксе открываю порты в iptables в локалку смотрит eth7
собственно за хотелось мне порубать в варик (wine 1.1.42)
6112 открыл удачно погамал уже созданную доту, а когда захотел схостить свою игру ничего не вышло
С подобным уже сталкивался дома потому понял что нушно курить nat дабы выгнать машину в инет (на d-link модеме эти опции лежали во вкладке Virtual Server)
вроде как сделал как надо :
(Нажмите, чтобы показать/скрыть)

http://www.whatsmyip.org/ports/ говорит что порт открыт (когда варик запущен)

tcpdump -i eth7 port 6112 показывает:
(Нажмите, чтобы показать/скрыть)
(если я не туплю то видно что пакеты из инета (ктото пытаеться приконнектиться) в мой комп заходят и он даже отвечает)

tcpdump -i ppp0 -nn -nnn port 6112 :
(Нажмите, чтобы показать/скрыть)

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



« Последнее редактирование: 04 Августа 2010, 03:58:14 от Elaugaste »

Оффлайн lega911

  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: помогите пожалуйста допилить nat iptables
« Ответ #1 : 04 Августа 2010, 06:38:28 »
RDP пробрасываеться?

у тебя в цепи форвард нет ацепта для tcp варика, попробуй:
iptables -A FORWARD -o eth7 -d 192.168.0.201 -p tcp --dport 6112 -j ACCEPT

если не поможет то:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
на ACCEPT поменять, чисто для проверки.

и ещё какая-то мысля была, пока писал - забыл :), вспомню - напишу.

Оффлайн Elaugaste

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #2 : 04 Августа 2010, 07:06:41 »
Цитировать
RDP пробрасываеться?
Ну зайти из инета на комп удаеться следовательно да :)

Цитировать
у тебя в цепи форвард нет ацепта для tcp варика, попробуй:
iptables -A FORWARD -o eth7 -d 192.168.0.201 -p tcp --dport 6112 -j ACCEPT

попробую сейчас

мм  а
#Warcraft
iptables -A FORWARD -p tcp -m multiport --dport 6112:6115 -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --sport 6112:6115 -j ACCEPT

разве это не тоже самое ? онож вроде разрешает ходить всем пакетам (не ток моим) по 6112-6115 портам в обе стороны и по всем интерфейсам

не помогло

Цитировать
если не поможет то:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
на ACCEPT поменять, чисто для проверки.
по пробовал :( не помогло


« Последнее редактирование: 04 Августа 2010, 07:12:26 от Elaugaste »

Оффлайн lega911

  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: помогите пожалуйста допилить nat iptables
« Ответ #3 : 04 Августа 2010, 10:35:16 »
разве это не тоже самое ? онож вроде разрешает ходить всем пакетам (не ток моим) по 6112-6115 портам в обе стороны и по всем интерфейсам
просмотрел

выдай iptables-save


Пользователь решил продолжить мысль 04 Августа 2010, 10:45:10:
адреса правильные? т.е. варик на втором компе ...201, а rdp на третем ...88

добавь разрешение для udp
iptables -A FORWARD -p udp -m multiport --dport 6112:6115 -j ACCEPT

вместо: iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
по стандарту так пишут: iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
« Последнее редактирование: 04 Августа 2010, 10:45:10 от lega911 »

Оффлайн MaratSh

  • Участник
  • *
  • Сообщений: 204
  • Всё пройдёт...
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #4 : 04 Августа 2010, 12:16:58 »
Цитировать
если не поможет то:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
на ACCEPT поменять, чисто для проверки.
по пробовал :( не помогло
Ну тогда вообще странно.
Возможно твой "варик" (это Warcraft или что?) соединяется не только по TCP. ;)
« Последнее редактирование: 04 Августа 2010, 12:24:44 от MaratSh »

Оффлайн Elaugaste

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #5 : 05 Августа 2010, 03:38:03 »
Цитировать
iptables-save
(Нажмите, чтобы показать/скрыть)


Цитировать
если не поможет то:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
на ACCEPT поменять, чисто для проверки.
по пробовал :( не помогло
Ну тогда вообще странно.
Возможно твой "варик" (это Warcraft или что?) соединяется не только по TCP. ;)

Warcraft 3 TFT по умолчанию использует 6112 порт

цепочки input и output по сути тут вообще нас не волнуют ибо пакеты назначающиеся не локальному компу идут в сеть, а за проход отвечает forward.
насколько я знаю открывая порты в forward я разрешаю пакетам ходить по этим портам НО т.к. пакеты идут в инет не напрямую а через комп - маршрутизатор ip подменяеться (я могу до мира дозвониться и мир мне ответит но ответ до меня не дойдет а завязнет на маршрутизаторе)
чтоб выкинуть машину в инет и нужен nat и цепочки input output тут не причем

по правьте если ошибаюсь


Цитировать
адреса правильные? т.е. варик на втором компе ...201, а rdp на третем ...88
Конечно  :coolsmiley:

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

sudo netstat -anp --udp --tcp | grep LISTEN
показывает 6112 порт

вот соединение то походу и не устанавниваеться (хоть порт и открыт ..)  
как отследить пакеты ... (что с ними сделал маршрутизатор приминил snat dnat drop accept и.т.д.) ктонить знает?


http://us.blizzard.com/support/article.xml?locale=en_US&articleId=21109
вот нарыл

Цитировать
- Allow port 6112 TCP out and allow established sessions in
 
- Allow port 6112 TCP in (hosting custom games)
 
- Allow port 6113-6119 TCP out and in (hosting custom games if you've changed the default port in the Options/Gameplay screen)

открыл 6112:6119
Используеться только 6112


Вот смог отследить tcpdump -i any port 6112
(Нажмите, чтобы показать/скрыть)

я в этой части не особо начитан  но явно что до меня долбятся и до долбиться не могут (сорее всего осуществляется несколько попыток соединения) ибо ко мне пакетов приходит больше а ответов от меня совсем мало


« Последнее редактирование: 05 Августа 2010, 05:07:18 от Elaugaste »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28360
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #6 : 05 Августа 2010, 04:39:09 »
-A PREROUTING -d INET_IP/32 -i ppp0 -p tcp -m tcp --dport 6112 -j DNAT --to-destination 192.168.0.201:6112

Ошибка. Поэтому и просим всегда показывать iptables-save, а не непойми кем писаные скрипты.

:OUTPUT DROP [86:10914]
Это шутка или издевательство?

filter выпрямляй.

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.0.0/24 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # или я не понял тонкой издёвки оригинального правила.
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth4 -p tcp -m tcp --dport 3128 -j ACCEPT

И объясни сакральный смысл этих пар правил, пока я со смеху не кончился.
-A FORWARD -d 192.168.0.88/32 -p tcp -m multiport --sports 110,25 -j ACCEPT
-A FORWARD -s 192.168.0.88/32 -p tcp -m multiport --dports 110,25 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 6112 -j ACCEPT
-A FORWARD -p tcp -m tcp --sport 6112 -j ACCEPT
-A FORWARD -s 192.168.0.88/32 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -d 192.168.0.88/32 -p tcp -m tcp --sport 3389 -j ACCEPT
-A FORWARD -d 192.168.0.20/32 -p tcp -m multiport --sports 110,25 -j ACCEPT
-A FORWARD -s 192.168.0.20/32 -p tcp -m multiport --dports 110,25 -j ACCEPT
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Elaugaste

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #7 : 05 Августа 2010, 04:58:52 »
-A PREROUTING -d INET_IP/32 -i ppp0 -p tcp -m tcp --dport 6112 -j DNAT --to-destination 192.168.0.201:6112

Ошибка. Поэтому и просим всегда показывать iptables-save, а не непойми кем писаные скрипты.
извини что статичный IP  не показываю

Цитировать
И объясни сакральный смысл этих пар правил, пока я со смеху не кончился.
ну дак
разрешение хождения в обе стороны :) 0_о а только на прием не хочет работать
допилю скоро

Цитировать
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # или я не понял тонкой издёвки оригинального правила.
эм .. а что не так то ... разрешение входящего коннекта для ssh

вот свежий
iptables-save

(Нажмите, чтобы показать/скрыть)

вообще я еще учусь не судите строго плз :-)

Цитировать
:OUTPUT DROP [86:10914]
Это шутка или издевательство?
извини но тут вообще не понял :(
« Последнее редактирование: 05 Августа 2010, 05:11:41 от Elaugaste »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28360
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #8 : 05 Августа 2010, 05:23:27 »
-A PREROUTING -d INET_IP/32 -i ppp0 -p tcp -m tcp --dport 6112 -j DNAT --to-destination 192.168.0.201:6112

Ошибка. Поэтому и просим всегда показывать iptables-save, а не непойми кем писаные скрипты.
извини что статичный IP  не показываю

*пожимая плечами* при нормальной настройке от него пользы, как от снега зимой.

Цитировать
Цитировать
И объясни сакральный смысл этих пар правил, пока я со смеху не кончился.
ну дак
разрешение хождения в обе стороны :) 0_о а только на прием не хочет работать

У тебя уже есть правило на обратку. Зачем ЕЩЁ что-то писать? Пиши только то, что действительно нужно.

Цитировать
допилю скоро

Цитировать
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # или я не понял тонкой издёвки оригинального правила.
эм .. а что не так то ... разрешение входящего коннекта для ssh

У тебя было нечто совершенно другое там написано.

Цитировать
вот свежий
iptables-save

(Нажмите, чтобы показать/скрыть)

вообще я еще учусь не судите строго плз :-)

А если с вами не строго, вообще учиться не будете. Ещё раз повторяю.

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT # Сори, забыл в прошлый раз...
-A INPUT -s 192.168.0.0/24 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # или я не понял тонкой издёвки оригинального правила.
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth4 -p tcp -m tcp --dport 3128 -j ACCEPT
...по ОДНОМУ правилу на каждый порт... только прямые соединения (-d XXXX/32 --dport NNN)...
COMMIT
Сохранить в файл, скормить iptable-restore.

Цитировать
Цитировать
:OUTPUT DROP [86:10914]
Это шутка или издевательство?
извини но тут вообще не понял :(

Чего ты не понял? С какого перепугу у тебя OUTPUT DROP? Тебе сеть вообще нужна или где?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Elaugaste

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #9 : 05 Августа 2010, 05:43:33 »
Цитировать
*пожимая плечами* при нормальной настройке от него пользы, как от снега зимой.  
я еще не на столько уверен в своих умениях чтобы так просто светить статичный ip


Цитировать
Чего ты не понял? С какого перепугу у тебя OUTPUT DROP? Тебе сеть вообще нужна или где?
мм ок ..
только..

Chain OUTPUT (policy DROP)
target     prot opt source               destination        
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain
ACCEPT     all  --  anywhere             anywhere            ctstate NEW,ESTABLISHED  # мм  какбы это развеж не разрешает? 0_о тогда как я счас в инете сижу
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh



Цитировать
У тебя было нечто совершенно другое там написано.
мм а что было то

Цитировать
...по ОДНОМУ правилу на каждый порт... только прямые соединения (-d XXXX/32 --dport NNN)...
чуть позже поправлю  ибо почта идет а если убрать -sport нехочет

короче убрать правила
-A FORWARD -d 192.168.0.88/32 -p tcp -m tcp --sport 3389 -j ACCEPT
-A FORWARD -d 192.168.0.20/32 -p tcp -m multiport --sports 110,25 -j ACCEPT
и им подобные
так?
« Последнее редактирование: 05 Августа 2010, 06:24:43 от Elaugaste »

Оффлайн lega911

  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: помогите пожалуйста допилить nat iptables
« Ответ #10 : 05 Августа 2010, 06:18:14 »
в данном случае --sport вообще не работает, т.к. исходящий порт не изестен, поэтому не должен ни на че влиять.

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain
ACCEPT     all  --  anywhere             anywhere            ctstate NEW,ESTABLISHED  # мм  какбы это развеж не разрешает? 0_о тогда как я счас в инете сижу
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
здесь первая строка - запретить все, после этого "ACCEPT     all  --  anywhere             anywhere            ctstate NEW,ESTABLISHED" - разрешить все, а остальные 2 просто болтаються бесполезно.
можно сказать правила друг другу противоречат, поэтому лучше срзау сделать ":OUTPUT ACCEPT [0:0]"

Оффлайн Elaugaste

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #11 : 05 Августа 2010, 06:25:29 »
аа ... :))
вот оночто  блин я дурак

вот ток всеравно не работает варик (

http://www.opennet.ru/openforum/vsluhforumID1/88916.html

(Нажмите, чтобы показать/скрыть)

ну в целом у меня все тож самое но не хостит :(
но почему непонятно

новый save
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 05 Августа 2010, 06:43:47 от Elaugaste »

Оффлайн lega911

  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: помогите пожалуйста допилить nat iptables
« Ответ #12 : 05 Августа 2010, 08:53:12 »
> -A POSTROUTING -o eth1 -j MASQUERADE
тут наверно ppp0 должно быть? инет от куда идет.
> -A PREROUTING -p tcp --dport 6112 -i eth1 -j DNAT --to-destination 192.168.0.2:6112
для варика ещё протокол udp вроде нужен

интерфейсы сменились?

Оффлайн Elaugaste

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: помогите пожалуйста допилить nat iptables
« Ответ #13 : 05 Августа 2010, 09:52:14 »
> -A POSTROUTING -o eth1 -j MASQUERADE
тут наверно ppp0 должно быть? инет от куда идет.
> -A PREROUTING -p tcp --dport 6112 -i eth1 -j DNAT --to-destination 192.168.0.2:6112
для варика ещё протокол udp вроде нужен

интерфейсы сменились?


эмь ссылку я не просто так остаил ...

это чел писал на форуме как он настроил что у него работало


Был поставлен эксперимент на 192.168.0.201 была создана локальная игра варика а с виндовой машины была попытка законектиться
 :o ии И ЭТА МОРДА не законектилась  :uglystupid2:   (зато когда хостанул на виньде все законектило)

варик на винду был скопирован с .201 потому косяк на .201 машине ) 

ЗЫ Стенка на 201 Ubuntu 10.04 отключена  остается винить Wine

 

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