Страница 1 из 1

как достучаться до Web-интерфейса модема из LAN через PF

Добавлено: 2011-11-09 7:33:38
MaxaoH82
Есть шлюз FreeBSD 8.2

Код: Выделить всё

ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:17:31:ba:c4:a6
        inet 192.168.10.254 netmask 0xffffff00 broadcast 192.168.10.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=88c3<UP,BROADCAST,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3808<VLAN_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether 00:e0:4c:77:28:c8
        inet 10.10.10.2 netmask 0xffffff00 broadcast 10.10.10.255
        media: Ethernet autoselect (none)
        status: no carrier
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33200
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        Opened by PID 510
есть модем ADSL IP 10.10.10.1 настроен бриджем подключен к rl0

Нужно достучаться до Web-интерфейса из локальной сети 192.168.10.0/24 которая подключена к vr0

на шлюзе стоит PF

Код: Выделить всё

pf.conf
ext_if = "tun0" #интерфейс, создаваемый при поднятии ADSL-соединения
int_if = "vr0"

# IP адреса
lannet = "192.168.10.0/24"
untrusted_lan="10.10.10.0/24"
ext_ip = "А.А.А.А"
bsd = "192.168.10.254/32"
bserv = "192.168.10.2/32"

wan_services="10.10.10.1/32"
#------------------------------
# Нормализация
#------------------------------

# Определяем политику при блокировке пакетов
set block-policy drop
# Поведение пакетного фильтра при использовании таблицы состояний
#set state-policy floating
# Логируемый интерфейс
set loginterface $ext_if
# Максимальное количество записей в пуле отвечающем за нормализацию трафика (scrub)
# Максимальное количество вхождений в пул отвечающий за состояние таблицы состояний соединений (keep state)
#set limit { frags 100000, states 100000 }
# Устанавливаем тип оптимизации
set optimization normal
# Игнорируем фильтрацию на кольцевом интерфейсе
set skip on lo0
# Нормализация всего входящего трафика на всех интерфейсах
scrub in all
scrub out all random-id max-mss 1440

#------------------------------
# NAT & RDR
#------------------------------

# NAT для локалки
#rdr on $int_if proto tcp from $int_if:network to any port 8080 -> 10.10.10.1 port www

nat on $ext_if inet from $lannet to any -> $ext_ip

#rdr on $int_if proto tcp from $lannet port 8080 to 10.10.10.1 port www -> 10.10.10.1
#rdr on $int_if proto tcp from any to 192.168.10.254 port 8080 -> 10.10.10.1 port www
#rdr on $int_if proto { tcp, udp } from any to $bsd port 8080 -> 10.10.10.1 port 80

#------------------------------
# Правила фильтрации
#------------------------------

# Защита от спуфинга
#antispoof quick for { lo0, $int_if, $ext_if }

# Блокируем всё
pass log all

##--direct connections from 192.168.10.0/24 LAN to 10.10.10.0/24 WAN
pass out log on $ext_if from $lannet to $untrusted_lan keep state
## разрешаем трафик от
## локалки 192.168.10.0/24 к сети провайдера по быстрому соединению
##--direct connections from 192.168.10.0/24 LAN to 10.10.10.0/24 WAN

# Разрешаем icmp
pass inet proto icmp icmp-type echoreq



pass out on $ext_if from $lannet to $wan_services keep state


# Тестовый полный выход для отладки
pass in log on $int_if from $lannet to any

# Разрешаем нашему шлюзу полный выход с обоих интерфейсов
pass out on $ext_if proto tcp from any to any
pass out on $ext_if proto udp from any to any keep state


Конфиге в правилах нат не пугайтесь там все мои наработки которые нифига не работаю
Точнее всё работает НАТ и прочее но вот достучаться до веб-интерфейса не могу

Re: как достучаться до Web-интерфейса модема из LAN через PF

Добавлено: 2011-11-09 7:48:04
bagas
# netstat -r

Re: как достучаться до Web-интерфейса модема из LAN через PF

Добавлено: 2011-11-09 7:49:29
pfsense
После "pass log all" все остальное не имеет смысла...

И смущает "no carrier" на rl0

Re: как достучаться до Web-интерфейса модема из LAN через PF

Добавлено: 2011-11-09 8:15:03
MaxaoH82
netstat -r

Код: Выделить всё

%netstat -r
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            B.B.B.B                UGS         0        9   tun0
10.10.10.0         link#2                U           0        0    rl0
10.10.10.2         link#2                UHS         0        0    lo0
A-A-A-A.ppp link#6                     UHS         0        0    lo0
localhost          link#5             UH          0        0    lo0
192.168.10.0       link#1             U           1       83    vr0
192.168.10.254     link#1             UHS         0        0    lo0
B.B.B.B link#6             UHS         0        0   tun0

Internet6:
Destination        Gateway            Flags      Netif Expire
localhost          localhost          UH          lo0
fe80::%lo0         link#5             U           lo0
fe80::1%lo0        link#5             UHS         lo0
ff01:5::           fe80::1%lo0        U           lo0
ff02::%lo0         fe80::1%lo0        U           lo0
%
После "pass log all" все остальное не имеет смысла...
Это временно пока всё не настрою
И смущает "no carrier" на rl0
Просто модем был выдернут на время
вот нормальный

Код: Выделить всё

vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:17:31:ba:c4:a6
        inet 192.168.10.254 netmask 0xffffff00 broadcast 192.168.10.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=88c3<UP,BROADCAST,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3808<VLAN_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether 00:e0:4c:77:28:c8
        inet 10.10.10.2 netmask 0xffffff00 broadcast 10.10.10.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33200
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
        options=80000<LINKSTATE>
        inet А.А.А.А --> B.B.B.B netmask 0xffffffff
        Opened by PID 510
A.A.A.A - выдаваемый ip
B/B/B/B - гетвей выдаваемый