pravilov
09-12-2006, 04:57
Задача - два удаленных офиса(WinXP) - обеспечить руки админа из одного офиса в другой, желательно безопасно.
сеть А , роутер FreeBSD(pf,ssh), клиенты обеспечены radmin, комп админа
сеть Б, роутер Slackware Linux(iptables,ssh), клиенты обеспечены radmin, комп админа
Решение
<---------------------------------------------------------------->
сеть А
на роутере
(транслируем пакеты на удаленный роутер)
nat on $router_А_ext_if from $admin_comp_A_IP to $router_Б_ext_IP port $ssh_port -> $router_A_ext_IP
(пускаем пакеты на внутренний интерфейс локального роутера)
pass in quick on $router_А_int_if from $admin_comp_A_IP to $router_Б_ext_IP
<---------------------------------------------------------------->
сеть Б
на роутере
(пробрасываем пакеты в цепочку FORWARD)
iptables -A FORWARD -p tcp -i $Lan_if -s $Admin_comp_Б_IP -d $router_A_ext_IP --dport $ssh_port -j ACCEPT
(транслируем пакеты во внешний адрес)
iptables -t nat -A POSTROUTING -p tcp -o $router_Б_ext_if -s $admin_comp_Б_IP -d $router_A_ext_IP --dport $ssh_port
-j SNAT --to-source $router_Б_ext_IP
(пробрасываем пришедшие из удаленной сетки пакеты во внутрь сети Б)
iptables -A FORWARD -p tcp -i $router_Б_ext_if -s $router_A_ext_IP --sport $ssh -d $admin_comp_Б_IP -j ACCEPT
<---------------------------------------------------------------->
На админ компе для доступа к столам удаленной сети бросаем putty L-тоннель
(адресом назначения тоннеля является адрес нужного компьютера в удаленной сети),
запускаем radmin-viewer с соединением на localhost:L-порт, благодарим охранника за
чай "Доброе-Утро" и отправляем его спать ;
З.і. всем спасибо
сеть А , роутер FreeBSD(pf,ssh), клиенты обеспечены radmin, комп админа
сеть Б, роутер Slackware Linux(iptables,ssh), клиенты обеспечены radmin, комп админа
Решение
<---------------------------------------------------------------->
сеть А
на роутере
(транслируем пакеты на удаленный роутер)
nat on $router_А_ext_if from $admin_comp_A_IP to $router_Б_ext_IP port $ssh_port -> $router_A_ext_IP
(пускаем пакеты на внутренний интерфейс локального роутера)
pass in quick on $router_А_int_if from $admin_comp_A_IP to $router_Б_ext_IP
<---------------------------------------------------------------->
сеть Б
на роутере
(пробрасываем пакеты в цепочку FORWARD)
iptables -A FORWARD -p tcp -i $Lan_if -s $Admin_comp_Б_IP -d $router_A_ext_IP --dport $ssh_port -j ACCEPT
(транслируем пакеты во внешний адрес)
iptables -t nat -A POSTROUTING -p tcp -o $router_Б_ext_if -s $admin_comp_Б_IP -d $router_A_ext_IP --dport $ssh_port
-j SNAT --to-source $router_Б_ext_IP
(пробрасываем пришедшие из удаленной сетки пакеты во внутрь сети Б)
iptables -A FORWARD -p tcp -i $router_Б_ext_if -s $router_A_ext_IP --sport $ssh -d $admin_comp_Б_IP -j ACCEPT
<---------------------------------------------------------------->
На админ компе для доступа к столам удаленной сети бросаем putty L-тоннель
(адресом назначения тоннеля является адрес нужного компьютера в удаленной сети),
запускаем radmin-viewer с соединением на localhost:L-порт, благодарим охранника за
чай "Доброе-Утро" и отправляем его спать ;
З.і. всем спасибо