Вообщем у меня на работе выход в инет с одного айпишника (172.16.7.209), а у напарника (172.16.7.210) - отсутсвует. Выход через проксю в головной конторе(172.16.41.1:3128). В рабочем копе тоже одна сетевуха. Реализовал всё таким образом:
1. установил /usr/ports/net/portfwd
2. сделал конфиг
Код: Выделить всё
%cat /usr/local/etc/portfwd.cfg
tcp
{
3128 { => 172.16.41.1:3128 }
}
3. написал небольшой скрипт:
Код: Выделить всё
%cat /usr/local/etc/rc.d/portfwd
#!/bin/sh
#
# PROVIDE: portfwd
# REQUIRE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="portfwd"
rcvar=`set_rcvar`
command="/usr/local/sbin/$name"
start_cmd="${name}_start"
load_rc_config $name
eval "${rcvar}=\${${rcvar}:-'NO'}"
conf=${conf:-"/usr/local/etc/portfwd.cfg"}
required_files=$conf
portfwd_start()
{
info "Starting $name"
$command -c $conf
}
run_rc_command "$1"
4. Добавил в rc.conf следующую строку
5. Прописал доступ в фаерволле
Код: Выделить всё
table <inet_users> persist file "/etc/inet_users"
pass in on $LanCard inet proto tcp from <inet_users> to $LanCard port 3128 flags S/SA modulate state
6. В результате имею:
Код: Выделить всё
%sockstat -4c |grep portfwd
root portfwd 1061 7 tcp4 172.16.7.209:3128 172.16.7.210:1364
root portfwd 1061 8 tcp4 172.16.7.209:28139 172.16.41.1:3128
%