Здравствуйте.
Только начинаю разбираться в iptables.Общая задача.
Есть игровой сервер lineage2 ОС windows server 2008 x64.
чтобы сервер положить (типа ddos) достаточно открыть много подключений, сервер сжирает ОП и падает.
Посоветовали поставить сервер на линук с перенаправлением на сервер с игрой чтобы использовать в нем гибкий фаерволл.Пока тренируюсь на centos (vps), пытаюсь сделать перенаправление.
111.111.111.111 ip сервер с игрой
222.222.222.222 ip vps с centos который должен перенаправлять.
iptables -t nat -A PREROUTING -p tcp -d 111.111.111.111 --dport 2106 -j DNAT --to-destination 222.222.222.222пример брал с http://www.opennet.me/docs/RUS/iptables/#DNATTARGET
Подскажите пожалуйста в чем ошибка?
iptables forward accept?
sysctl ipv4 forward=1?
> iptables forward accept?
> sysctl ipv4 forward=1?# Controls IP packet forwarding
net.ipv4.ip_forward = 1
это?
>> iptables forward accept?
>> sysctl ipv4 forward=1?
> # Controls IP packet forwarding
> net.ipv4.ip_forward = 1
> это?Команда iptables -P FORWARD ACCEPT разрешит прохождение транзитных пакетов через ваш хост.
Команда sysctl net.ipv4.ip_forward = 1 объяснить ядру что надо бы включить пересылку пакетов (маршрутизацию)
Тольк по-моему вы перепутали местами истинный источник и назначение. А раз уж:
111.111.111.111 ip сервер с игрой
222.222.222.222 ip vps с centos который должен перенаправлять.
то и подключаться народ должен к 222.222.222.222:
iptables -t nat -A PREROUTING -p tcp -d 222.222.222.222 --dport 2106 -j DNAT --to-destination 111.111.111.111
Либо отдайте ip 111.111.111.111 фаерволу, а игровому серверу назначите какойнить серый айпи и связывайте его с фаером.
>[оверквотинг удален]
> Команда sysctl net.ipv4.ip_forward = 1 объяснить ядру что надо бы включить
> пересылку пакетов (маршрутизацию)
> Тольк по-моему вы перепутали местами истинный источник и назначение. А раз уж:
> 111.111.111.111 ip сервер с игрой
> 222.222.222.222 ip vps с centos который должен перенаправлять.
> то и подключаться народ должен к 222.222.222.222:
> iptables -t nat -A PREROUTING -p tcp -d 222.222.222.222 --dport 2106 -j
> DNAT --to-destination 111.111.111.111
> Либо отдайте ip 111.111.111.111 фаерволу, а игровому серверу назначите какойнить серый
> айпи и связывайте его с фаером.не получается
ради эксперимента сделал правилоiptables -t nat -A OUTPUT --dst 222.222.222.222 -p tcp --dport 2106 -j DNAT \
--to-destination 111.111.111.111использовал прокси для подключения клиента игры на том же сервере (VPS) чтобы отсылать от имени сервера.
так работает.
а вот перенаправление не работает.
может это связано с тем что это впс, стоят какие то ограничения?
>[оверквотинг удален]
> не получается
> ради эксперимента сделал правило
> iptables -t nat -A OUTPUT --dst 222.222.222.222 -p tcp --dport 2106 -j
> DNAT \
> --to-destination 111.111.111.111
> использовал прокси для подключения клиента игры на том же сервере (VPS) чтобы
> отсылать от имени сервера.
> так работает.
> а вот перенаправление не работает.
> может это связано с тем что это впс, стоят какие то ограничения????
cat /proc/sys/net/ipv4/ip_forward
iptables-save
>[оверквотинг удален]
>> DNAT \
>> --to-destination 111.111.111.111
>> использовал прокси для подключения клиента игры на том же сервере (VPS) чтобы
>> отсылать от имени сервера.
>> так работает.
>> а вот перенаправление не работает.
>> может это связано с тем что это впс, стоят какие то ограничения?
> ???
> cat /proc/sys/net/ipv4/ip_forward
> iptables-saveто что я выше написал я сделал чтобы точно убедится что проблем только в перенаправление.
в /proc/sys/net/ipv4/ip_forward
0iptables-save
# Generated by iptables-save v1.3.5 on Fri Aug 19 01:14:23 2011
*mangle
:PREROUTING ACCEPT [708:45439]
:INPUT ACCEPT [690:44467]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [693:50556]
:POSTROUTING ACCEPT [693:50556]
COMMIT
# Completed on Fri Aug 19 01:14:23 2011
# Generated by iptables-save v1.3.5 on Fri Aug 19 01:14:23 2011
*filter
:INPUT ACCEPT [707:46039]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [710:51880]
COMMIT
# Completed on Fri Aug 19 01:14:23 2011
# Generated by iptables-save v1.3.5 on Fri Aug 19 01:14:23 2011
*nat
:PREROUTING ACCEPT [428:23566]
:POSTROUTING ACCEPT [4:232]
:OUTPUT ACCEPT [3:172]
-A PREROUTING -d IP_VPS -p tcp -m tcp --dport 2106 -j DNAT --to-destination IP_game_server
-A OUTPUT -d IP_VPS -p tcp -m tcp --dport 2106 -j DNAT --to-destination IP_game_server
COMMIT
>[оверквотинг удален]
> # Generated by iptables-save v1.3.5 on Fri Aug 19 01:14:23 2011
> *nat
> :PREROUTING ACCEPT [428:23566]
> :POSTROUTING ACCEPT [4:232]
> :OUTPUT ACCEPT [3:172]
> -A PREROUTING -d IP_VPS -p tcp -m tcp --dport 2106 -j DNAT
> --to-destination IP_game_server
> -A OUTPUT -d IP_VPS -p tcp -m tcp --dport 2106 -j DNAT
> --to-destination IP_game_server
> COMMITВам тут уже минимум 3 раза написали про включение пересылки пакетов по sysctl net.ipv4.ip_forward = 1
Вывод, полученный от cat /proc/sys/net/ipv4/ip_forward = 0 говорит о том что у вас она не включена!
>[оверквотинг удален]
>> :OUTPUT ACCEPT [3:172]
>> -A PREROUTING -d IP_VPS -p tcp -m tcp --dport 2106 -j DNAT
>> --to-destination IP_game_server
>> -A OUTPUT -d IP_VPS -p tcp -m tcp --dport 2106 -j DNAT
>> --to-destination IP_game_server
>> COMMIT
> Вам тут уже минимум 3 раза написали про включение пересылки пакетов по
> sysctl net.ipv4.ip_forward = 1
> Вывод, полученный от cat /proc/sys/net/ipv4/ip_forward = 0 говорит о том что
> у вас она не включена!да, это первый прикол, после исправления будет второй - клиент будет обращаться на IP_VPS, а ответ получать от IP_game_server , что ему явно не понравится
>[оверквотинг удален]
>> :OUTPUT ACCEPT [3:172]
>> -A PREROUTING -d IP_VPS -p tcp -m tcp --dport 2106 -j DNAT
>> --to-destination IP_game_server
>> -A OUTPUT -d IP_VPS -p tcp -m tcp --dport 2106 -j DNAT
>> --to-destination IP_game_server
>> COMMIT
> Вам тут уже минимум 3 раза написали про включение пересылки пакетов по
> sysctl net.ipv4.ip_forward = 1
> Вывод, полученный от cat /proc/sys/net/ipv4/ip_forward = 0 говорит о том что
> у вас она не включена!Извините, может я что то путаю?
в /etc/ в файле sysctl.conf
стоит
# Controls IP packet forwarding
net.ipv4.ip_forward = 1ну и для возврата пакета клиенту я про пишу
iptables -t nat -A POSTROUTING -p tcp --dst IP_game-server --dport 2106 -j SNAT \
--to-source IP_VPS
>[оверквотинг удален]
>> у вас она не включена!
> Извините, может я что то путаю?
> в /etc/ в файле sysctl.conf
> стоит
> # Controls IP packet forwarding
> net.ipv4.ip_forward = 1
> ну и для возврата пакета клиенту я про пишу
> iptables -t nat -A POSTROUTING -p tcp --dst IP_game-server --dport 2106 -j
> SNAT \
> --to-source IP_VPSВсем спасибо большое разобрался оказывается не достаточно просто прописать в конфиг.
sysctl — в BSD и Linux — программа, предназначенная для управления отдельными параметрами ядра, безопасности, сетевой подсистемы.