У меня игровой сервер.
К серверу подключено два провайдера.
Debian Linux 5.0
Это физический железный сервак, который прямо смотрит в обе сети провайдеров, на нем нет ничего кроме
нескольких игровых серверов Counter-Strike 1.6 и team-fortress2
Как настроить маршрутизацию, или что сделать в IPTABLES
Чтобы на сервер можно было зайти по любому из двух IP?
т.е. чтобы с одного и того же IP клиента можно было подключиться как к первому IP Сервера, так и ко второму, и чтобы не было разницы между тем к какому из IP подключается клиент. (естественно речь не про пинг)
# The loopback network interface
auto lo
iface lo inet loopback
post-up iptables-restore < /etc/iptables.rules
# The primary network interface
allow-hotplug eth2
iface eth2 inet dhcp
allow-hotplug eth0
iface eth0 inet static
address xx.xx.xx.xx
netmask xxx.xxx.xxx.xxx
Как вариант могу купить и поставить RB450G перед этим сервером, но будет ли тот результат?
СЛышал что можно обойтись без аппаратного решения, просто с помощью IPTABLES
Два провайдера на одном сервере
Поидее если указать в кс 0.0.0.0 он будет слушать оба интерфейса.
Покажите правила iptables.
в iptables считай пусто
там два правила разрешающие SSh только с 2 IP на остальные дроп.
+ip 0.0.0.0 - не помогает
все равно физический сервер доступен только по default gateway
route -n покажите
Как вариант могу купить и поставить RB450G перед этим сервером, но будет ли тот результат?
На фиг не надо! Больше гемора заработаете.
Дам наводку берите список под сетей на eth0.
Тут описание что и как http://www.opennet.ru/base/net/ubuntu_route.txt.html
В этом ваша основная проблема.
И ещё вопрос) у провайдеров разные подсети?
мне не походит вариант с прописыванием маршрутов с указанием диапазонов адресов провайдеров, тк они пересекаются.
мне нужно сделать простую вещь:
1. любой из двух IP сервера доступен абсолютно любому в мире пользователю
2. через какой Интерфейс пользователь зашел на сервер через тот интерфейс и идет обмен пакетами с ним.
все всем разрешено, просто обмен данными идет через тот интерфейс по которому зашел клиент.
никаких редиректов, маршрутов, тут должно быть какое-то очень простое решение
LikMigTel, покажи:
ifconfig
ifconfig -a
iptables --numeric --line-numbers -LKettler, я тоже гуглить умею, вы не читали эти статьи - они почти все про шлюзы, а у меня не щлюз, а сервер и у меня нету на нем локальной сети
ifconfig
eth0 Link encap:Ethernet HWaddr 6c:f0:49:a3:4c:f8
inet addr:91.200.47.201 Bcast:91.200.47.223 Mask:255.255.255.224
inet6 addr: fe80::6ef0:49ff:fea3:4cf8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:194628 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23733392 (22.6 MiB) TX bytes:3744 (3.6 KiB)
Interrupt:221 Base address:0x6000
eth2 Link encap:Ethernet HWaddr 00:15:e9:3d:01:47
inet addr:78.30.248.244 Bcast:78.30.255.255 Mask:255.255.192.0
inet6 addr: fe80::215:e9ff:fe3d:147/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:835970 errors:0 dropped:0 overruns:0 frame:0
TX packets:843473 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:76221029 (72.6 MiB) TX bytes:104439652 (99.6 MiB)
Interrupt:19 Base address:0xd000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:67996 errors:0 dropped:0 overruns:0 frame:0
TX packets:67996 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6282140 (5.9 MiB) TX bytes:6282140 (5.9 MiB)
ifconfig -a
eth0 Link encap:Ethernet HWaddr 6c:f0:49:a3:4c:f8
inet addr:91.200.47.201 Bcast:91.200.47.223 Mask:255.255.255.224
inet6 addr: fe80::6ef0:49ff:fea3:4cf8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:196129 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23935578 (22.8 MiB) TX bytes:3744 (3.6 KiB)
Interrupt:221 Base address:0x6000
eth2 Link encap:Ethernet HWaddr 00:15:e9:3d:01:47
inet addr:78.30.248.244 Bcast:78.30.255.255 Mask:255.255.192.0
inet6 addr: fe80::215:e9ff:fe3d:147/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:873127 errors:0 dropped:0 overruns:0 frame:0
TX packets:887133 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:78954940 (75.2 MiB) TX bytes:110156311 (105.0 MiB)
Interrupt:19 Base address:0xd000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68500 errors:0 dropped:0 overruns:0 frame:0
TX packets:68500 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6334838 (6.0 MiB) TX bytes:6334838 (6.0 MiB)
iptables --numeric --line-numbers -L
- пусто
-не результат команды - пусто, а у меня нет правил для IPTABLES вообще - он пустой.
LikMigTel я прекрасно читал и знаю на что даю ссылки.
А вот вы вопрос ставите неправильно! Там не про шлюз.
У вас не локальная сеть а два айпишника смотрящих в инет.
Если вы пропишите тут gateway allow-hotplug eth0 то как бы будет всё хорошо.
Но есть но) пакеты будут приходить на один интерфейс и уходить с другого.
Поэтому и дал вам ссылку на хабр. Может я не полностью понял суть вашей проблемы.
LikMigTel, что бы cs1.6 работал на 2х ip надо запускать 2 сервера, и писать в строке запуска, примерно следующие:
hlds.exe -console +sv_lan 1 -insecure -game cstrike -nomaster +maxplayers 21 +map de_dust +port 27015 +ip aaa.bbb.ccc.ddd +exec listip.cfg
где +ip aaa.bbb.ccc.ddd ваши ip адреса, соответственно так же можно и указать разные порты +port 27015 , только клиенту надо будет уже писать так connect ip:port, т.е. connect 172.16.0.1:27016.
Рассмотрим подробнее, что здесь написано:
start "Server" – запуск консоли с заголовком Server
/min – свернуть после запуска
/high – ставим высокий приоритет
-console - сервер стартует в консольном режиме
-game cstrike - запускать сервер под CS
-nomaster – не выводить сервер в списке серверов инета
-insecure – отключить VAC
+maxplayers 17 – количество слотов (до 32)
+sv_password 333 – пароль на сервер
+map de_dust2 - сервер запуститься с карты de_dust2
+port 27015 - порт, на котором будет работать сервер
+ip 255.255.255.255 – ip адрес компа, на котором будет находиться сервер
ненужные пункты выбросить из строки запуска, что бы сервер был публичным для рунета и не только.
С TF аналогичная ситуация.
i2ks, у меня серваки крутятся уже два года и как запускать их я знаю, не понял ничего из того что ты хотел мне сказать.
Два айпи означает, чтобы на один и тот же mycsservers:27015
можно было зайти по двум разным IP и по 11.22.33.44:27015 и по 55.66.77.88:27015
два разных айпи это два разных провайдера, так понятнее?
мне не надо запускать два разных CS сервера. Речь об одном идет.
И не путайте физический выделенный сервер (железку) с CS сервером, которых на этой железке запущено несколько.
Для тех кто в танке:
Ваш сервер будет выступать шлюзом для 2х сетей, провайдера "А" и провайдера "В", что бы они могли видеть друг друга, а точней что бы клиенту было все прозрачно,то надо настроить маршрутизацию между ними, как это сделать, вам уже написали.
i2ks, у меня серваки крутятся уже два года и как запускать их я знаю, не понял ничего из того что ты хотел мне сказать.
Ну если вы не поняли то что я написал, то я сомневаюсь то что вы понимаете как у вас работает и настроен cs сервер. В общем ладно не об этом разговор.
два разных айпи это два разных провайдера, так понятнее?
я читать умею.
i2ks, т.е. вы мне советуете
примерно следующие:
сервер запуститьсязапустить два сервака с разными ипами?
вы понимаете что как бы не была настроена маршрутизация - каждый из таких серверов будет доступен только для одного провайдера? а мне надо для двух.
LikMigTel, если будет маршрутизация между двумя провайдерами то все прекрасно будет работать, ед-е ваш сервер должен быть шлюзом между ними, что бы данная схема работала.