Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Проброс порта во внешнюю сеть

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Scaramanga



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ДВС. В администрирование Linux систем только начинаю вникать, сутки не могу разобраться с простой задачей.(ну я думаю что простая)
 
Как делал в винде:

Код:
netsh interface portproxy add v4tov4 listenport=500 connectport=80 connectaddress=remote_ip

 
И вот тоже самое не могу сделать в centos, т.е. все пакеты приходящие на любой из сетевых интерфейсов по порту 500, перенаправлять на внешний ip адрес порт 80.  
Пытаюсь сделать следующее:

Код:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 500 -j DNAT --to-destination $remoteip:80
service iptables save
service iptables restart

безрезультатно. Скрипт массовый, т.е. внутренний ip всегда разный

Всего записей: 516 | Зарегистр. 24-04-2008 | Отправлено: 23:25 16-08-2021 | Исправлено: Scaramanga, 23:31 16-08-2021
urodliv



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У нас тут есть спецтема по iptables. Лучше бы там почитать и туда задавать вопросы.
 
Пока же скажу, что в вашем синтаксисе есть огрехи, но не думаю, что фатальные. И надо бы все правила iptables посмотреть.
В целом задача интересна. Сейчас для её решения в одной конторе использую небольшой прокси-сервер, но к такому решению у меня есть некоторые претензии. В общем, надо будет покумекать и попробовать на тестовой машине поиграть с пробросами трафика на внешние ресурсы.
 


----------
Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

Всего записей: 6772 | Зарегистр. 29-04-2009 | Отправлено: 10:06 18-08-2021
igor me v2

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ДВС

Двигатель внутреннего сгорания? На Линуксе???

Всего записей: 7213 | Зарегистр. 27-03-2016 | Отправлено: 16:26 18-08-2021
urodliv



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Двигатель внутреннего сгорания? На Линуксе???  

Доброго времени суток.

----------
Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

Всего записей: 6772 | Зарегистр. 29-04-2009 | Отправлено: 19:21 18-08-2021
PlastUn77



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Scaramanga
 
в вашем правиле DNAT меняет в пакете адрес назначения,  а какой адрес отправителя?
Судя по названию темы - адреса отправителей  в серой сети,  и кому должен отвечать ваш $remoteip на такой пакет?
 

Всего записей: 516 | Зарегистр. 16-06-2008 | Отправлено: 19:54 18-08-2021
Scaramanga



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
urodliv
проверяю на тестовой машине, т.е. система сразу после установки,  

Код:
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination          
 
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination          
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

PlastUn77
Пробывал следующее

Код:
 
echo 1 > /proc/sys/net/ipv4/ip_forward
/etc/init.d/network restart
iptables -t nat -A PREROUTING -p tcp -m conntrack --ctstate ESTABLISHED,RELATED
iptables -t nat -A PREROUTING -p tcp --dport 500 -j DNAT --to-destination $remote_ip:80
iptables -t nat -A POSTROUTING -p tcp -d $remote_ip --dport 80 -j SNAT --to-source $localip
 

и так:

Код:
 
echo 1 > /proc/sys/net/ipv4/ip_forward
/etc/init.d/network restart
iptables -t nat -A PREROUTING -p tcp --dport 500 -j DNAT --to-destination $remote_ip:80
iptables -t nat -A POSTROUTING -j MASQUERADE
 

 
Результат:

Код:
 
iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination          
           tcp  --  0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED  
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:500 to:X.X.X.X:80  
 
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination          
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0            
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    
 

 
бесполезно.

Всего записей: 516 | Зарегистр. 24-04-2008 | Отправлено: 22:27 19-08-2021 | Исправлено: Scaramanga, 22:33 19-08-2021
urodliv



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Scaramanga

Цитата:
бесполезно.

Тоже вчера сделал аналогичную штуку с аналогичным результатом. Пробовал провернуть эту же песню с алиасом интерфейса - результат нулевой.
Поискал в инете информацию, но там тоже тишина. На выходных думаю продолжить изыскания.

----------
Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

Всего записей: 6772 | Зарегистр. 29-04-2009 | Отправлено: 23:55 19-08-2021
roma



skydiver
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
задача похожа на обычный проброс порта, только с подменой понятий внутренний/внешний. соответственно не хватает правила FORWARD, что-то типа  

Цитата:
iptables -A FORWARD -p tcp -d $remote_ip --dport 80 -j ACCEPT


Всего записей: 2908 | Зарегистр. 10-09-2001 | Отправлено: 08:11 20-08-2021
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iptables -t nat -A PREROUTING -p tcp -m conntrack --ctstate ESTABLISHED,RELATED
iptables -t nat -A PREROUTING -p tcp --dport 500 -j DNAT --to-destination $remote_ip:80
iptables -A FORWARD -p tcp -d $remote_ip --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o  eth1 -p tcp  --dport 80 -j SNAT --to-source $wan_ip
 
Собрал в кучу все, что предлагали, имхо так должно сработать   , где eth1 внешний wan интерфейс и  $wan_ip   - его статик IP  
Если адрес динамический , то добавляем j MASQURADE


----------
В сортире лучше быть юзером, чем админом...

Всего записей: 12338 | Зарегистр. 10-12-2003 | Отправлено: 09:33 20-08-2021 | Исправлено: ipmanyak, 09:33 20-08-2021
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Проброс порта во внешнюю сеть


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru