... {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 (их можно добавить как через менеджер так и в консоли, а также через [ics_tune.sh|http://docs.carbonsoft.ru//pages/viewpage.action?pageId=29032518]) {code}iptables -I FORWARD -s <IP> -j ACCEPT iptables -I 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). *Проброс 80 порта не совместим с опцией в локальной консоли "Публиковать локальный сайт на внешних интерфейсах".*
|
Если вы хотите опубликовать другую службу, то вместо 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]) Это означает, что для этого сервера мы выделили отдельную не пересекающуюся подсеть. В идеале для этого нужен отдельный сетевой интерфейс, но в этом конкретном случае такое решение приемлемо.
|