| <--------- ВНУТРЕННЯЯ СЕТЬ ------------------------------------- -> || <--- ПРЕДОСТАВЛЯТЬ ЧАСТНУЮ СЕТЬ -------> | | <--------- DESKTOP (MacOS) ----------> | <- LINUX HOST w IPTABLES -> | <--- MS SQL на порту 1433 --- -----> | | <--- ХОСТУ LINUX РАЗРЕШЕНО ПРЕДОСТАВЛЯТЬ СЕТЬ НА ПОРТЕ 1444 -> |
Итак, с помощью следующей конфигурации IPTABLES CONFIG я могу разговаривать с целевой базой данных, подключившись к хосту Linux, который перенаправляет мой трафик 1433 в пункт назначения. Однако это вызывает проблему, когда любой, у кого есть машина во внутренней сети, может поговорить с БД назначения, если они знают об установке.
Как это можно сделать, только создав туннель SSH (localForward) к LINUX HOST. По крайней мере, вам нужна учетная запись, чтобы иметь доступ к целевой БД ...
Вот копия имеющейся у меня конфигурации iptables.
iptables -F iptables -t nat -F iptables -X
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A FORWARD -p tcp --dport 1433 -d 7.8.9.10 -j ПРИНЯТЬ
iptables -t nat -A PREROUTING -p tcp --dport 1433 -j DNAT --to-destination 7.8.9.10:1433 iptables -t nat -A POSTROUTING -p tcp -d 7.8.9.10 --dport 1433 -j SNAT - -в исходный код 3.4.5.6