Имя: Пароль:
IT
Админ
Перенаправить подключение iptables
0 zenik
 
18.07.17
01:18
Доброй ночи :)
Имеется две сети А и Б - между ними всемирный интернет. В сети А через роутер выкинули наружу порт - 2004. В сети Б в роли шлюза линукс сервер + iptables.
Надо из сети Б подключится с клиента к А. Но в сети Б интернет доступен не на всех компах, а только кто попал под правило:
-A POSTROUTING -s 192.168.11.0/24 -j SNAT --to-source *.*.*.*

поэтому пришла идея перенаправлять подключения через шлюз правилом:
-A PREROUTING -i eth0 -p tcp --dport 2004 -j DNAT --to-destination *.*.*.*:2004
(eth0 - локалка. иначе говоря, конектимся на наш сервер на 2004 - а он перекидывает нас в сеть А)

и это сработало... но только у тех у кого есть доступ в интернет. Нутром чую, что надо какое-то правило для остальных, но самое дикое что мне пришло в голову:
-A POSTROUTING -s ВНЕШКА -j SNAT --to-source ВНУТРЯНКА - не работает.
есть какой то вариант что бы это заработало и у тех, у кого нет доступа в интернет?
1 arsik
 
гуру
18.07.17
01:20
Позовите сисадмина.
2 Asmody
 
18.07.17
01:26
(0) туннель между сетями бросить.
3 zenik
 
18.07.17
09:57
(2) Ага, была такая мысль.
Апну пожалуй - может еще админы проснулись :)
4 Exec
 
18.07.17
11:53
Добавь еще правило forward, хотя бы для порта, и будет норм
5 Exec
 
18.07.17
11:57
Например:

-A PREROUTING -d ВНЕШНИЙ_IP -p tcp -m tcp --dport 2000 -j DNAT --to-destination ВНУТРЕННИЙ_IP

-A FORWARD -d ВНУТРЕННИЙ_IP -i ВНЕШНЯЯ_СЕТЕВКА -o ВНУТРЕННЯЯ_СЕТЕВКА -p tcp -m tcp --dport 2000 -j ACCEPT

-A FORWARD -s ВНУТРЕННИЙ_IP -i ВНУТРЕННЯЯ_СЕТЕВКА -o ВНЕШНЯЯ_СЕТЕВКА -p tcp -m tcp --sport 2000 -j ACCEPT

Третье правило по идее избыточно, но если ты не хочешь инет открывать для этого адреса - то так должно сработать.
6 zenik
 
18.07.17
12:16
(5) не заколосилось :(
Ладно, хрен с ним, туннель, так туннель...
7 Exec
 
18.07.17
14:04
(6) странно, у меня именно так и работает :(
С рабочего конфига правила скинул (за исключением третьего - у меня обратный форвард для всех открыт
8 Exec
 
18.07.17
14:16
Как вариант - еще политики проверь.

У меня:
1. mangle
:PREROUTING ACCEPT
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT

2. nat
:PREROUTING ACCEPT
:INPUT ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT

3. filter
:INPUT DROP
:FORWARD DROP
:OUTPUT ACCEPT
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс