... {color:#ff0000}Примечание:{color} Эта инструкция подходит только при наличии статического белого адреса на интерфейсе. Для динамических адресов подойдет [эта инструкция|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=31948802]. Работе проброса портов может мешать опция меню локальной консоли "Конфигурирование сервера - Оптимизация сети - SNAT только указанных локальных сетей". *Задача:* Пробросить порт 2254 с внешнего адреса 10.90.180.4 на порт 22 внутреннего ip 192.168.180.10 *1.* У абонента(сервера), на которого делаем портмаппинг, должен быть интернет, поэтому должно выполняться одно из двух условий:
|
\- Абонент является абонентом Carbon Billing
|
\- Для абонента прописаны 2 правила в таблице FORWARD fw_custom_forward (их можно добавить как через менеджер так и в консоли, а также через [ics_tune.sh|http://docs.carbonsoft.ru//pages/viewpage.action?pageId=29032518])
|
{code}iptables -I FORWARD fw_custom_forward -s <IP> -j ACCEPT
|
iptables -I FORWARD fw_custom_forward -d <IP> -j ACCEPT{code}
|
*2.* Создаем правило портмаппинг (DNAT) также в файле [ics_tune.sh|http://docs.carbonsoft.ru//pages/viewpage.action?pageId=29032518]
|
... {code} iptables -t nat -I fw_custom_dnat -d 10.90.180.4 -p tcp --dport 2254 -m state --state NEW -j DNAT --to-destination 192.168.180.10:22 {code} Если вы хотите опубликовать другую службу, то вместо 2254 нужно написать порт этой службы, (например, для SMTP это 25). Более подробно о возможностях вы можете узнать почитав про iptables на открытых ресурсах интернета. *Проброс 80 порта не совместим с опцией в локальной консоли "Публиковать локальный сайт на внешних интерфейсах".* *3.* При подключении к локальному серверу из локальной сети по внешнему адресу связи не будет. Эту проблему можно решить двумя способами: *3.1* Создаем еще одно правило чтобы из локальной сети тоже можно было подключаться на внешний IP-адрес: !Снимок-Редактирование правила-1.png|border=1! {code} iptables -t nat -I fw_custom_snat -s 192.168.180.0/24 -p tcp -d 10.90.180.4/32 --dport 2254 -j SNAT --to-source 1.2.3.4 {code} В качестве адреса 1.2.3.4(SNAT адреса) может быть задан любой ip, не входящий в ту же сеть что и адрес абонента(сервера). При этом он может совпадать с адресом на локальной сетевой карте Carbon Billing. Недостатками этого варианта является то, что будет происходить SNAT соединений абонента, в результате чего исходный адрес абонента будет неизвестен на сервере назначения и наличие дополнительного правила в файрволе. *3.2* Чтобы этого избежать вместо пункта *3.1* можно настроить так: \- На сервере в локальной сети добавить дополнительный IP-адрес из отдельной непересекающейся сети. (например, если у вас сеть 192.168.180.1/255.255.255.0, то 192.168.0.2/255.255.255.0). Если доступ по существующему IP-адресу в локальной сети не предполагается, то можно просто заменить существующий адрес на новый.
|
\- На локальной сетевой карте сервера Carbon Billing настроить дополнительный IP-адрес из выбранной подсети (например, 192.168.0.1/255.255.255.0).
|
\- Настроить авторизацию по IP для нового IP-адреса (192.168.0.2). ([http://www.ideco-software.ru/forum/default.aspx?g=posts&t=654|http://www.ideco-software.ru/forum/default.aspx?g=posts&t=654])
|
Это означает, что для этого сервера мы выделили отдельную не пересекающуюся подсеть. В идеале для этого нужен отдельный сетевой интерфейс, но в этом конкретном случае такое решение приемлемо.
|