Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
tech:kb0003 [2012/06/11 09:48] Євген Слюсар |
tech:kb0003 [2012/06/11 10:36] (поточний) |
||
---|---|---|---|
Рядок 17: | Рядок 17: | ||
Пропоноване рішення полягає в тому, щоб заставити сервер думати, що з'єднання відбулося на зовнішньодоступну адресу, а не на внутрішню, що призведе до формування правильної адреси точки підключення каналу даних. Цього можна досягти за допомогою додавання додаткової IP-адреси на Loopback-інтерфейс та спеціального правила трансляції iptables. | Пропоноване рішення полягає в тому, щоб заставити сервер думати, що з'єднання відбулося на зовнішньодоступну адресу, а не на внутрішню, що призведе до формування правильної адреси точки підключення каналу даних. Цього можна досягти за допомогою додавання додаткової IP-адреси на Loopback-інтерфейс та спеціального правила трансляції iptables. | ||
+ | - Створіть конфігурацію вторинної адреси на Loopback-інтерфейсі. Для RedHat-подібних дистрибутивів достатньо створити файл ''/etc/sysconfig/network-scripts/ifcfg-lo:real'' приблизно такого змісту: <code> | ||
+ | DEVICE=lo:real | ||
+ | IPADDR=a.b.c.d | ||
+ | NETMASK=255.255.255.255 | ||
+ | ONBOOT=yes</code>де у поле ''IPADDR'' вписати зовнішню IP-адресу, з якої виконуєтсья трансляція з'єднань на сервер. | ||
+ | - Додати до конфігурації iptables правило, що "завертає" усі з'єднання іззовні на новостворений інтерфейс. Наводимо приклад секції ''*nat'' файлу ''/etc/sysconfig/iptables'': <code> | ||
+ | *nat | ||
+ | :PREROUTING ACCEPT [0:0] | ||
+ | :POSTROUTING ACCEPT [0:0] | ||
+ | :OUTPUT ACCEPT [0:0] | ||
+ | -A PREROUTING -s ! 10.0.0.0/255.0.0.0 -p tcp -m tcp --dport 2811 -j DNAT --to-destination a.b.c.d | ||
+ | COMMIT</code> | ||
+ | - Запустити мережевий інтерфейс та застосувати конфігурацію iptables: <code> | ||
+ | # ifup lo:real | ||
+ | # service iptables restart</code> | ||
+ | |||
+ | --- //[[people:slu|Євген Слюсар]] 2012/06/11 13:36// |