FreeBSD переброс трафика между двумя интерфейсами

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-08 20:20:23

добрый день форумчане!

FreeBSD test 12.2-RELEASE-p4 FreeBSD 12.2-RELEASE-p4 GENERIC amd64
ipwf вместе с ситемой
ipfw_nat ядерный "нат"
dhcpd 4.4.2
dhclient вместе с системой
unbound вместе с системой

есть 3(4) интерфейса nfe0, (rl0 - сейчас не используется), rl1 и wlan0
nfe0(10.10.10.50) смотри в мою локалку и в роутер (10.10.10.1)
rl1(172.16.0.1) используется как wan для тестовой железки с OpwnWRT и на нём же висит dhcpd(x.x.0.10-x.x.0.20)
wlan0(dhclient - 192.168.43.232) получает трафик (и-нет подключение) с планшета (192.168.43.1)

задача: nfe0 должен обслуживать саму систему(test), а с wlan0 весь трафик и все dns'ы, ntp'шки и т.д., должны передаваться в rl1 (т.е. в железку с OpenWRT) ни как не контактируя с системой

как такое возможно сделать?

прочитал достаточно много разной литературы и в большинстве случаев всё сводится к фаерволу и ядерному нату, но вот как то не получается настроить

помогите советом/исправлением в конфиге/дайте почитать конкретоно по теме

из получившегося: есть пинги
.........................OpenWRT <--> rl1
.........................OpenWRT --> wlan0
.........................OpenWRT --> планш
с планша могу пинговать только wlan0, дальше ХЗ почему не получается (в логах ipfw при пингах дальше, к примеру 172.16.0.1, вообще полнейшая тишина), т.е. не могу дальше этого интерфейса пробиться

конфиги:
/etc/ipfw.rules

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

add 401 check-state

nat 1 config if wlan0 log same_ports reset
add 700 nat 1 log ip from any to any via wlan0
 
# allow all installed connections
add 800 allow tcp from any to any established
# pass ALL into localNet
add 810 allow ip from any to any via nfe0 keep-state

# DNS for server
add 820 allow log udp from any 53 to any via nfe0
add 830 allow log udp from any to any 53 via nfe0
# NTPD for server
add 840 pass log udp from any to any 123 via nfe0 keep-state

add 1000 allow log tcp from any to any via rl1
add 1010 allow log udp from any to any via rl1
add 1020 allow log icmp from any to any via rl1

add 2000 allow log tcp from any to any via wlan0
add 2010 allow log udp from any to any via wlan0
add 2020 allow log icmp from any to any via wlan0

add 65500 deny log all from any to any
так фыглядят правила ipfw

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

root@test:~ # /sbin/ipfw list
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00401 check-state :default
00700 nat 1 log ip from any to any via wlan0
00800 allow tcp from any to any established
00810 allow ip from any to any via nfe0 keep-state :default
00820 allow log udp from any 53 to any via nfe0
00830 allow log udp from any to any 53 via nfe0
00840 allow log udp from any to any 123 via nfe0 keep-state :default
01000 allow log tcp from any to any via rl1
01010 allow log udp from any to any via rl1
01020 allow log icmp from any to any via rl1
02000 allow log tcp from any to any via wlan0
02010 allow log udp from any to any via wlan0
02020 allow log icmp from any to any via wlan0
65500 deny log ip from any to any
/etc/rc.conf

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

hostname="test"
gateway_enable="YES"
network_interfaces="AUTO"

ifconfig_nfe0="inet 10.10.10.50 netmask 255.255.0.0"
ifconfig_rl1="inet 172.16.0.1 netmask 255.255.255.0"

wlans_rtwn0="wlan0"
ifconfig_wlan0="WPA SYNCDHCP mtu 1450"
wpa_supplicant_enable="YES"
wpa_supplicant_flags="-s"

defaultrouter="10.10.10.1"

sshd_enable="YES"
ntpd_enable="YES"
ntpd_sync_on_start="YES"
webmin_enable="YES"
local_unbound_enable="YES"

# Start dhcp & mpd5 & ipfw & nat
dhcpd_enable="YES"
#mpd_flag="-b"

firewall_enable="YES"
firewall_nat_enable="YES"
firewall_logging="YES"
firewall_nat_interface="wlan0"
firewall_type=/etc/ipfw.rules
/etc/dhclient.conf

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

timeout 60;
retry 60;
reboot 10;
select-timeout 5;
initial-interval 2;

interface "wlan0"
{
        request routers,
                subnet-mask,
                broadcast-address,
                time-offset,
                domain-name,
                domain-name-servers,
                host-name;
        require subnet-mask,
                domain-name-servers;
        prepend domain-name-servers 127.0.0.1;
}
/etc/wpa_supplicant.conf

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

ctrl_interface=/var/run/wpa_supplicant
eapol_version=2
ap_scan=1
fast_reauth=1
autoscan=periodic:30

network={
        ssid="T5"
        scan_ssid=1
        psk="***"
        proto=RSN
        key_mgmt=WPA-PSK
        ap_max_inactivity=60
}
/var/unbound/unbound.conf

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

server:
# only errors to log 0
        verbosity: 0

# log file tuning
        # the log file, "" means log to stderr.
        # Use of this option sets use-syslog to "no"
        logfile: "/log/unbound.log"

        # Log to syslog(3) if yes. The log facility LOG_DAEMON is used to
        # log to. If yes, it overrides the logfile.
        use-syslog: no

        # print UTC timestamp in ascii to logfile, default is epoch in seconds.
        log-time-ascii: yes
        log-queries: yes

# port default 53
        port: 53

# local interface
        interface: 127.0.0.1
        interface: 172.16.0.1
        interface-automatic: no

# outgoing interface
        outgoing-interface: 192.168.43.232

# connect from net
        access-control: 172.16.0.0/24 allow
        access-control: 127.0.0.1 allow

# anti spoofing without DNSSEC
        harden-glue: yes

#
        prefetch: yes
        prefetch-key: yes

# count to start unbound process
#       num-threads: 4

# fast reallocation of resources
        so-reuseport: yes

# ipv6 is off
        do-ip6: no
        do-ip4: yes
        do-udp: yes
        do-tcp: no

# start as a daemon
        do-daemonize: yes

# hide soft version in request (id.server и hostname.bind, version.server и version.bind).
        hide-identity: yes
        hide-version: yes

        username: unbound
        directory: /var/unbound
        chroot: /var/unbound
        pidfile: /var/run/local_unbound.pid
        auto-trust-anchor-file: /var/unbound/root.key

include: /var/unbound/forward.conf
include: /var/unbound/lan-zones.conf
include: /var/unbound/control.conf
include: /var/unbound/conf.d/*.conf
/var/unbound/forward.conf

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

forward-zone:
        name: "."
        forward-addr: 192.168.43.1
/var/unbound/lan-zones.conf

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

server:
        # Unblock reverse lookups for LAN addresses
        unblock-lan-zones: yes
        insecure-lan-zones: yes
/usr/local/etc/dhcpd.conf

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

ddns-update-style none;

#DNS servers
option domain-name-servers 10.10.10.1, 10.10.10.50, 127.0.0.1;

#time to reset address
default-lease-time 5;

#time to USE addres
max-lease-time 7200;

authoritative;

#to log system
log-facility local7;

log (info,concat("*** dhcp-parameter-request-list:
 ",binary-to-ascii(10,8,",",config-option dhcp-parameter-request-list),"
  ***"));

# DHCP l2tp
subnet 172.16.0.0 netmask 255.255.255.0 {
        use-host-decl-names on;
        range 172.16.0.10 172.16.0.20;
        interface rl1;

        option routers 172.16.0.1;
        option broadcast-address 172.16.0.255;
        option subnet-mask 255.255.255.0;

        option netbios-name-servers 172.16.0.1;
        option netbios-dd-server 172.16.0.1;
        option netbios-node-type 8;
        option ntp-servers ntp2.stratum2.ru;
        option domain-name-servers 172.16.0.1;
        }

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-08 20:30:54

дополнение: железка с OpenWRT вообще в данный момент не видит и-нета ни какого, ни "системного" ни с планша

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение Demis » 2021-03-09 2:01:52

Вам, на мой взгляд, нужно сначала немного упорядочить свои мысли на предмет того "чего хочется",
а уже потом переходить "а как это сделать".

Из того, что видно невооруженным глазом, наблюдаю:
1. ifconfig_nfe0="inet 10.10.10.50 netmask 255.255.0.0" - почему применена маска 255.255.0.0 понятно (а не 255.255.255.0) надеюсь не только мне.
2. Все Ваши сети направлены "на выход" в 10.10.10.1 (defaultrouter="10.10.10.1").
3. Маршрутизации между сетями из rc.conf не показано (или их нет вообще).
4. nat обычно вешается на "основной" внешний (например через который получает Интернет) интерфейс.
5. Не ясность "что(?) к чему(?) и почему(?) подключено"
(Вами написано:
"nfe0(10.10.10.50) смотри в мою локалку и в роутер (10.10.10.1)" и есть
"rl1(172.16.0.1) используется как wan для тестовой железки с OpwnWRT",
т.е. разные IP. Так какая все таки сетка??? Это основная Ваша запутка, на мой взгляд, т.к. пакеты вышедшие (например) с 10.10.0.10 "возвращаясь" будут стучаться в интерфейс nfe0, а не в rl1).
6. Текущая диагностика интерфейсов не показана (результат команды ifconfig).
7. Текущая таблица маршрутизации "что получилось" не показана (результат команды netstat -ar).
8. Дальше остаются только догадки.
======================
Как физически подключены устройства?
Есть смутное подозрение, что в rl1 воткнут провод от OpenWRT.
======================

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-09 3:41:39

1. опечатка - исправил
2. туда по идее должна быть направлена только сама система (test)
3. а вот это как показать?
4. вешать nat на nfe0 надо?
5. nfe0 подключен к роутеру(10.10.10.1), который получает и-нет от провайдера, этот роутер объединяет в сеть 3 компа (один из них test - 10.10.10.50) - это и есть ОСНОВНАЯ сеть
rl1 выдаёт через dhcpd адрес для OpenWRT в его wan порт
6. ifconfig

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

root@test:~ # ifconfig
rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2008<VLAN_MTU,WOL_MAGIC>
        ether 00:14:78:03:d9:46
        media: Ethernet autoselect
        status: no carrier
        nd6 options=9<PERFORMNUD,IFDISABLED>
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2008<VLAN_MTU,WOL_MAGIC>
        ether 00:80:48:1a:ff:cc
        inet 172.16.0.1 netmask 0xffffff00 broadcast 172.16.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=9<PERFORMNUD,IFDISABLED>
nfe0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8210b<RXCSUM,TXCSUM,VLAN_MTU,TSO4,WOL_MAGIC,LINKSTATE>
        ether 00:1d:60:1f:5f:9d
        inet 10.10.10.50 netmask 0xffff0000 broadcast 10.10.255.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=9<PERFORMNUD,IFDISABLED>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet 127.0.0.1 netmask 0xff000000
        groups: lo
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1450
        ether d0:37:45:b1:f0:7d
        inet 192.168.43.232 netmask 0xffffff00 broadcast 192.168.43.255
        groups: wlan
        ssid T5 channel 6 (2437 MHz 11g ht/20) bssid 30:45:96:9b:23:a2
        regdomain FCC country US authmode WPA2/802.11i privacy ON
        deftxkey UNDEF AES-CCM 2:128-bit txpower 30 bmiss 7 scanvalid 60
        protmode CTS ht20 ampdulimit 64k ampdudensity 4 shortgi -stbc -ldpc
        -uapsd wme roaming MANUAL
        parent interface: rtwn0
        media: IEEE 802.11 Wireless Ethernet MCS mode 11ng
        status: associated
        nd6 options=9<PERFORMNUD,IFDISABLED>
root@test:~ #
7. netstat

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

root@test:~ # netstat -ar
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            10.10.10.1         UGS        nfe0
10.10.0.0/16       link#3             U          nfe0
10.10.10.50        link#3             UHS         lo0
localhost          link#4             UH          lo0
172.16.0.0/24      link#2             U           rl1
172.16.0.1         link#2             UHS         lo0
192.168.43.0/24    link#5             U         wlan0
192.168.43.232     link#5             UHS         lo0

Internet6:
Destination        Gateway            Flags     Netif Expire
::/96              localhost          UGRS        lo0
localhost          link#4             UH          lo0
::ffff:0.0.0.0/96  localhost          UGRS        lo0
fe80::/10          localhost          UGRS        lo0
fe80::%lo0/64      link#4             U           lo0
fe80::1%lo0        link#4             UHS         lo0
ff02::/16          localhost          UGRS        lo0
root@test:~ #
Demis писал(а):
2021-03-09 2:01:52
Как физически подключены устройства?
Есть смутное подозрение, что в rl1 воткнут провод от OpenWRT.
планшет <--> test - wi-fi
test <--> роутер - витуха
test <--> OpenWRT - витуха

P.S. сразу схемку не выложил - исправляюсь
my_lan.jpg
схемка

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение snorlov » 2021-03-09 9:26:04

Nat надо повесить на nfe0, а с планшета куда ходить надо? Если только в в сетку 10.10.10.*, так пропишите на нем маршрут на эту сетку...

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-09 9:50:50

надо из 172.16.0.10 ходить через планшет в интернет
при этом связка 172.16.0.0/24 <--> 192.168.43.0/24 ни чего не должна знать о сети 10.10.10.0/24

P.S. я как то не понятно объясняю :no:

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение Demis » 2021-03-09 12:19:56

Ок. Хорошо.
Уже становится понятнее.

По п.3
а) Одноразово, работает с ходу и до перезагрузки,

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

route add -net 192.168.2.2/32 192.168.2.1
или так
б) работает до и после перезагрузки:

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

route add -net 192.168.2.2/32 192.168.2.1
route add -net 192.168.3.2/32 192.168.3.1
+ в rc.conf

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

route_gate1="-net 192.168.2.2/32 192.168.2.1" #(где 192.168.2.1 IP локального интерфейса, а 192.168.2.2/32 - удаленный интерфейс где-то в сети)
route_gate2="-net 192.168.3.2/32 192.168.3.1"
static_routes="gate1 gate2"
Это просто пример.

По поводу переделки ната (с rl1 на nfe0).
Тут, на мой взгляд, такой момент, на самом деле Вам нужно два ната поднимать (и множественную маршрутизацию), чтобы получить Ваше
"надо из 172.16.0.10 ходить через планшет в интернет
при этом связка 172.16.0.0/24 <--> 192.168.43.0/24 ни чего не должна знать о сети 10.10.10.0/24"
.

Есть конечно проблемка - очень не просто бывает врубиться, что такое маршрутизация.
А тем более множественная.

Я-бы, на Вашем месте, сначала сделал-бы что-бы сначала заработало на "однократном" варианте.
Для каждого варианта сетей, по сути два разных, полных, набора конфигов (условно один вариант для работы через rl1, второй для работы через nfe0). Просто чтобы понять для себя "ага, вот так работает для такой-то сети" и "а вот так работает, но для другой сети". Тогда останется перейти к сложному варианту "хочу чтобы оба варианта работали". По текущему варианту ни один, даже простой вариант, не работает.

Хотя если очень хочется, то можно и на множественной сразу делать.
Вы спрашивали насчет почитать, рекомендую внимательно изучить этот пост http://www.bsdportal.ru/viewtopic.php?f=13&t=21648
Там немного другая задача, но в ней Вы увидите как можно поднять множественную маршрутизацию и применить к ipfw.

Сейчас Ваш:

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

setfib -F 0 netstat -rn
наверняка выдаст (без ipv6):

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

Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            10.10.10.1         UGS        nfe0
10.10.0.0/16       link#3             U          nfe0
10.10.10.50        link#3             UHS         lo0
localhost          link#4             UH          lo0
172.16.0.0/24      link#2             U           rl1
172.16.0.1         link#2             UHS         lo0
192.168.43.0/24    link#5             U         wlan0
192.168.43.232     link#5             UHS         lo0
а для второй таблицы

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

setfib -F 1 netstat -rn
наверняка выдаст:

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

setfib: 1: invalid FIB (max 0)
Мудреное слово route, это просто "дорога".
В буквальном смысле.
Сетка 192.168.43 - это "город".
Города (сети) связываются между собой дорогами.
Есть "главная дорога" это "defaultrouter".
Наличие "главной дороги" не отменяет наличие или возникновение второстепенных дорог, которые могут идти из города в город параллельно главной дороге.
Нат, в данном примере, это как перегрузочная станция. Груз (пакет) приехал на грузовике по главной дороге, его перегрузили на станции на другой автомобиль и уже оный поехал в город...

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение snorlov » 2021-03-09 19:05:11

Т.е. вы хотите чтобы ваша фришка работала след.образом. сама ходит в инет через nfe0 (сеть 10.*), а интерфейсы wlan0 и rl1 находится в одной подсети и не знают, что есть такая сетка как 10.*, другими словами wlan0 и rl1 должны организовать bridge, зачем тогда спрашивается вам dhcp, unbound(dns), ipfw да еще маршрутизация

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-09 22:44:33

Demis писал(а):
2021-03-09 12:19:56
По п.3
а) Одноразово, работает с ходу и до перезагрузки,

или так
б) работает до и после перезагрузки:

Это просто пример.
вот такое пробовал

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

root@test:~ # route add -net 172.16.0.0/24 192.168.43.232
add net 172.16.0.0: gateway 192.168.43.232 fib 0: route already in table
root@test:~ # route add -net 172.16.0.0/24 192.168.43.1
add net 172.16.0.0: gateway 192.168.43.1 fib 0: route already in table
Demis писал(а):
2021-03-09 12:19:56
setfib -F 0 netstat -rn

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

root@test:~ # setfib -F 0 netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            10.10.10.1         UGS        nfe0
10.10.0.0/16       link#3             U          nfe0
10.10.10.50        link#3             UHS         lo0
127.0.0.1          link#4             UH          lo0
172.16.0.0/24      link#2             U           rl1
172.16.0.1         link#2             UHS         lo0
192.168.43.0/24    link#5             U         wlan0
192.168.43.232     link#5             UHS         lo0
root@server:~ #
Demis писал(а):
2021-03-09 12:19:56
setfib -F 1 netstat -rn

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

root@test:~ # setfib -F 1 netstat -rn
setfib: 1: invalid FIB (max 0)
Demis писал(а):
2021-03-09 12:19:56
условно один вариант для работы через rl1, второй для работы через nfe0
через rl1 на данный момент ни чего не рабоотает
а через nfe0 сама система работает на УРА!
Demis писал(а):
2021-03-09 12:19:56
рекомендую внимательно изучить этот пост http://www.bsdportal.ru/viewtopic.php?f=13&t=21648
пойду читать
snorlov писал(а):
2021-03-09 19:05:11
другими словами wlan0 и rl1 должны организовать bridge, зачем тогда спрашивается вам dhcp, unbound(dns), ipfw да еще маршрутизация
или я не понимаю "вопроса" - что есть МОСТ, или он как то по другому должен работать!
а сколько я понял мост не может соединить две разные сети
unbound - как кэширующий DNS сервер
nat без ipfw не работает
dhcp - это копия системы подключения некоторого провайдера

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение snorlov » 2021-03-10 9:58:14

woojin, не заметил к сожалению, что на wlan0 и rl1 разные сети, но это в принципе ничего не меняет, только нат повесите на wlan0, dhcp на rl1, укажите гугловский dns в параметрах dhcp

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-10 14:46:01

snorlov, а как быть с кэширущим unbound в случае с гугловскими dns'ами?

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение snorlov » 2021-03-10 15:55:36

да какая разница, я еще понимаю,если бы вам надо что-то распазновать внутри локалок, а для инета сойдет любой доступный инетовский dns сервер, это раньше, лет 20 назад надо было иметь dns сервер поближе, когда за трафик платили, а сейчас то...
Не, ну если хотите настроить unbound, то флаг в руки.
Я правильно понимаю, вы хотите настроить(побаловаться) openwrt...

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-10 17:14:26

snorlov писал(а):
2021-03-10 15:55:36
побаловаться
не совсем
на данный момент есть две железки TP-Link которые с теми же характеристиками что и Mikrotik
и на микротиках можно настроить VPN поверх уже имеющегося VPN провайдера (и как всегда ЗАСАДА - НЕТ ДЕНЕГ на микротики)
задача перебросить с одного конца города в другой очень хорошего провайдера, из квартиры в дом

у того провайдера который там (в частном секторе), сейчас и сервисов нет никаких и "вообще"... не нравится он мне
а настройки у него такого рода: в сетке появился комп, он получил по dhcp адрес (и ни чего более, только в л/к можно зайти), потом по логину/паролю подцепился к l2tp и вышел в и-нет
так вот OpenWRT поддерживает установку разных "примочек" в отличии от стандартных прошивок

а то что я сейчас пытаюсь сделать - это имитация подключения в тому прову из частного сектора

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение Demis » 2021-03-10 20:09:16

woojin писал(а):
2021-03-09 22:44:33
вот такое пробовал

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

root@test:~ # route add -net 172.16.0.0/24 192.168.43.232
add net 172.16.0.0: gateway 192.168.43.232 fib 0: route already in table
root@test:~ # route add -net 172.16.0.0/24 192.168.43.1
add net 172.16.0.0: gateway 192.168.43.1 fib 0: route already in table
Все верно, да не верно.
Он Вас послал ("route already in table", "дорога уже есть в таблице") и это верно (т.к. эти сети прописаны в свойствах интерфейса, и кстати там опять 172.16.0.0)...
А нужно было "route add -net 192.168.43.1/32 172.16.0.1" на хосте "test".
И потом пингануть на хосте 172.16.0.10 хост 192.168.43.1
Посмотреть приходят-ли пакеты пинга нужно на "test" примерно так:

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

tcpdump -ni wlan0 host 192.168.43
Если пакеты есть, а пинги не проходят разбираться с правилами ната и ipfw, логи тоже глянуть.
Плюс не забыть глянуть какой IP прописан гейтвейем на самом хосте 172.16.0.10

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-10 22:05:17

Demis писал(а):
2021-03-10 20:09:16
А нужно было "route add -net 192.168.43.1/32 172.16.0.1" на хосте "test".
а зачем мне в сеть 192.168.43.1/32 добавлять шлюз 172.16.0.1?

OpenWRT

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

root@OpenWrt:~# ping 172.16.0.1
PING 172.16.0.1 (172.16.0.1): 56 data bytes
64 bytes from 172.16.0.1: seq=0 ttl=64 time=0.391 ms
64 bytes from 172.16.0.1: seq=1 ttl=64 time=0.371 ms
64 bytes from 172.16.0.1: seq=2 ttl=64 time=0.368 ms
^C
--- 172.16.0.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.368/0.376/0.391 ms
root@OpenWrt:~# ping 192.168.43.232
PING 192.168.43.232 (192.168.43.232): 56 data bytes
64 bytes from 192.168.43.232: seq=0 ttl=64 time=0.399 ms
64 bytes from 192.168.43.232: seq=1 ttl=64 time=0.370 ms
^C
--- 192.168.43.232 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.370/0.384/0.399 ms
root@OpenWrt:~# ping 192.168.43.1
PING 192.168.43.1 (192.168.43.1): 56 data bytes
^C
--- 192.168.43.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
root@OpenWrt:~#
tcpdump -ni wlan0 host 192.168.43

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

root@test:~ # tcpdump -i wlan0 -pn -v host 192.168.43
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
23:52:38.874770 IP (tos 0x0, ttl 63, id 9301, offset 0, flags [DF], proto ICMP (1), length 84)
    172.16.0.10 > 192.168.43.1: ICMP echo request, id 27040, seq 0, length 64
23:52:39.874995 IP (tos 0x0, ttl 63, id 9376, offset 0, flags [DF], proto ICMP (1), length 84)
    172.16.0.10 > 192.168.43.1: ICMP echo request, id 27040, seq 1, length 64
23:52:40.875220 IP (tos 0x0, ttl 63, id 9415, offset 0, flags [DF], proto ICMP (1), length 84)
    172.16.0.10 > 192.168.43.1: ICMP echo request, id 27040, seq 2, length 64
23:52:41.875427 IP (tos 0x0, ttl 63, id 9481, offset 0, flags [DF], proto ICMP (1), length 84)
    172.16.0.10 > 192.168.43.1: ICMP echo request, id 27040, seq 3, length 64
23:52:42.875644 IP (tos 0x0, ttl 63, id 9580, offset 0, flags [DF], proto ICMP (1), length 84)
    172.16.0.10 > 192.168.43.1: ICMP echo request, id 27040, seq 4, length 64
23:52:43.875889 IP (tos 0x0, ttl 63, id 9621, offset 0, flags [DF], proto ICMP (1), length 84)
    172.16.0.10 > 192.168.43.1: ICMP echo request, id 27040, seq 5, length 64
я ничего не увидел
Demis писал(а):
2021-03-10 20:09:16
Плюс не забыть глянуть какой IP прописан гейтвейем на самом хосте 172.16.0.10

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

root@OpenWrt:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr 64:70:02:CC:0A:92
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd12:e539:a466::1/60 Scope:Global
          inet6 addr: fe80::6670:2ff:fecc:a92/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:586612 errors:0 dropped:0 overruns:0 frame:0
          TX packets:517579 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:81522226 (77.7 MiB)  TX bytes:301855438 (287.8 MiB)

eth0      Link encap:Ethernet  HWaddr 64:70:02:CC:0A:92
          inet6 addr: fe80::6670:2ff:fecc:a92/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:630232 errors:0 dropped:0 overruns:0 frame:0
          TX packets:676555 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:96907171 (92.4 MiB)  TX bytes:340739187 (324.9 MiB)
          Interrupt:4

eth0.1    Link encap:Ethernet  HWaddr 64:70:02:CC:0A:92
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:586612 errors:0 dropped:0 overruns:0 frame:0
          TX packets:517579 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:81522226 (77.7 MiB)  TX bytes:301855438 (287.8 MiB)

eth0.2    Link encap:Ethernet  HWaddr 64:70:02:CC:0A:93
          inet addr:172.16.0.10  Bcast:172.16.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6670:2ff:fecc:a93/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11248 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44592 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1125056 (1.0 MiB)  TX bytes:12392218 (11.8 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:219290 errors:0 dropped:0 overruns:0 frame:0
          TX packets:219290 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:19282987 (18.3 MiB)  TX bytes:19282987 (18.3 MiB)

root@OpenWrt:~#

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

root@OpenWrt:~# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.16.0.1      0.0.0.0         UG        0 0          0 eth0.2
172.16.0.0      0.0.0.0         255.255.255.0   U         0 0          0 eth0.2
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 br-lan
root@OpenWrt:~#

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-10 22:09:25

snorlov,
woojin писал(а):
2021-03-10 17:14:26
snorlov писал(а):
2021-03-10 15:55:36
побаловаться
не совсем
на данный момент есть две железки TP-Link которые с теми же характеристиками что и Mikrotik
и на микротиках можно настроить VPN поверх уже имеющегося VPN провайдера (и как всегда ЗАСАДА - НЕТ ДЕНЕГ на микротики)
задача перебросить с одного конца города в другой очень хорошего провайдера, из квартиры в дом

у того провайдера который там (в частном секторе), сейчас и сервисов нет никаких и "вообще"... не нравится он мне
а настройки у него такого рода: в сетке появился комп, он получил по dhcp адрес (и ни чего более, только в л/к можно зайти), потом по логину/паролю подцепился к l2tp и вышел в и-нет
так вот OpenWRT поддерживает установку разных "примочек" в отличии от стандартных прошивок

а то что я сейчас пытаюсь сделать - это имитация подключения в тому прову из частного сектора
но это уже будет далее, по этому думаю пока в такие дебри лезть не стоит!
надо решать задачи по мере их поступления :good:

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-10 22:21:53

Demis писал(а):
2021-03-09 12:19:56
рекомендую внимательно изучить этот пост http://www.bsdportal.ru/viewtopic.php?f=13&t=21648
изучил!
выявил такую штуку

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

options         ROUTETABLES=2
у меня в GENERIС ядре отсутствует
если я правильно смотрю конфиг ядра, т.к. ставил систему без исходников
хотя распаковав образ... и там данной опции (даже закоментированной) не нашёл

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

root@test:~ # sysctl -b kern.conftxt
options CONFIG_AUTOGENERATED
ident   GENERIC
machine amd64
cpu     HAMMER
makeoptions     WITH_CTF=1
makeoptions     DEBUG=-g
options EVDEV_SUPPORT
options XENHVM
options USB_DEBUG
options ATH_ENABLE_11N
options AH_AR5416_INTERRUPT_MITIGATION
options AH_SUPPORT_AR5416
options IEEE80211_SUPPORT_MESH
options IEEE80211_AMPDU_AGE
options IEEE80211_DEBUG
options SC_PIXEL_MODE
options VESA
options PCI_IOV
options PCI_HP
options ACPI_DMAR
options EARLY_AP_STARTUP
options SMP
options NETDUMP
options ZSTDIO
options GZIO
options EKCD
options KDB_TRACE
options KDB
options RCTL
options RACCT_DEFAULT_TO_DISABLED
options RACCT
options INCLUDE_CONFIG_FILE
options DDB_CTF
options KDTRACE_HOOKS
options KDTRACE_FRAME
options MAC
options CAPABILITIES
options CAPABILITY_MODE
options AUDIT
options HWPMC_HOOKS
options KBD_INSTALL_CDEV
options PRINTF_BUFR_SIZE=128
options _KPOSIX_PRIORITY_SCHEDULING
options SYSVSEM
options SYSVMSG
options SYSVSHM
options STACK
options KTRACE
options SCSI_DELAY=5000
options COMPAT_FREEBSD11
options COMPAT_FREEBSD10
options COMPAT_FREEBSD9
options COMPAT_FREEBSD7
options COMPAT_FREEBSD6
options COMPAT_FREEBSD5
options COMPAT_FREEBSD4
options COMPAT_FREEBSD32
options EFIRT
options GEOM_LABEL
options GEOM_RAID
options PSEUDOFS
options PROCFS
options CD9660
options MSDOSFS
options NFS_ROOT
options NFSLOCKD
options NFSD
options NFSCL
options MD_ROOT
options QUOTA
options UFS_GJOURNAL
options UFS_DIRHASH
options UFS_ACL
options SOFTUPDATES
options FFS
options SCTP
options TCP_RFC7413
options TCP_HHOOK
options TCP_BLACKBOX
options TCP_OFFLOAD
options IPSEC_SUPPORT
options IPSEC
options INET6
options INET
options VIMAGE
options PREEMPTION
options NUMA
options SCHED_ULE
options NEW_PCIB
options GEOM_PART_GPT
options GEOM_PART_MBR
options GEOM_PART_EBR_COMPAT
options GEOM_PART_EBR
options GEOM_PART_BSD
...

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение Demis » 2021-03-11 2:41:36

Хорошую статистику показали. Полную. Спасибо.
Demis писал(а):
2021-03-10 20:09:16
А нужно было "route add -net 192.168.43.1/32 172.16.0.1" на хосте "test".
woojin писал(а):
2021-03-10 22:05:17
а зачем мне в сеть 192.168.43.1/32 добавлять шлюз 172.16.0.1?
Это нужно, чтобы указать пакетам сети "где именно искать" другую сеть.
На самом деле немного не так.
Если по-человечески, то это будет звучать примерно так:
Интерфейсу с IP 172.16.0.1 "нужно знать" где искать адрес 192.168.43.1/32 в сети.
Тут фишка вот в чем, все не свои пакеты (т.е. пакеты IP с сетями отличными от локальных) всегда отправляются на вышестоящий роутер (defaultrouter="10.10.10.1"), т.е. пакеты пойдут через интерфейс nfe0.
Где, естественно, ничего не найдет...
Нам нужно изменить такое поведение для конкретного IP.
Возможно я уже сам тут немного запутался и правильнее будет так "route add -net 192.168.43.1/32 192.168.43.232" (короче забыл, попробуйте оба варианта, первый или этот) но именно этот трюк и задаст новое направление.
Если команда не даст ошибок, то таблица маршрутов должна будет иметь такие записи (покажете netstat -nr):

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

в rc.conf
route_gate2="-net 192.168.43.1/32 192.168.43.232"
static_routes="gate2"

netstat -nr
192.168.43.0/24   link#5             U           0        0    wlan0
192.168.43.232     link#5             UHS         0        0    lo0
192.168.43.1/32  192.168.43.232     US          0      116    wlan0
(это для второго варианта моей запутки)
Вот эта последняя запись и есть путь ("дорога") пакета на wlan0, через который доступен адрес 192.168.43.1/32.
При этом:
1. Все это будет верно для конкретного IP, без ipfw, без nat (т.е. чистая маршрутизация, нужно быть уверенным, что nat и ipfw погашены).
Важно поймать echo и replay на "tcpdump -ni wlan0 host 192.168.43" (при тех-же условиях, что Вы делали раньше), а уже потом решать остальные моменты.

2. Остальные сети не будут работать (за пределами 192.168.43.1), но это на текущий момент не беда. Не все сразу.

Для того чтобы решить проблему "п.2 остальных сетей", например Интернет через 192.168.43.1 для 172.16.0.10, нужна фишка с "ROUTETABLES=2".
ROUTETABLES даст возможность указать разные гейтвеи для разных блоков сетей, а в ipfw их можно будет уже разрулить разными правилами по примеру из ссылки ранее.
Согласно: https://www.freebsd.org/cgi/man.cgi?que ... rmat=html

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

set in the	kernel configuration file with
   options   ROUTETABLES=N
     or	in /boot/loader.conf with
   net.fibs="N"
where N is an integer
т.е. достаточно будет в /boot/loader.conf добавить net.fibs="2" и перезагрузиться.
Надеюсь ничего не забыл...

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение Demis » 2021-03-11 10:50:02

Demis писал(а):
2021-03-11 2:41:36
Возможно я уже сам тут немного запутался и правильнее будет так "route add -net 192.168.43.1/32 192.168.43.232" (короче забыл, попробуйте оба варианта, первый или этот) но именно этот трюк и задаст новое направление.
Чтобы пореже забывать мануал, наш альмартер здесь https://docs.freebsd.org/ru_RU.KOI8-R/b ... NG-DEFAULT
И описание флагов из него:

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

U	Up: Маршрут актуален.
H	Host: Адресом назначения является отдельный хост.
G	Gateway: Посылать все для этого адреса назначения на указанную удаленную систему, которая будет сама определять дальнейший путь прохождения информации.
S	Static: Маршрут был настроен вручную, а не автоматически сгенерирован системой.
C	Clone: Новый маршрут сгенерирован на основе указанного для машин, к которым мы подключены. Такой тип маршрута обычно используется для локальных сетей.
W	WasCloned: Указывает на то, что маршрут был автоматически сконфигурирован на основе маршрута в локальной сети (Clone).
L	Link: Маршрут включает ссылку на аппаратный адрес Ethernet.

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение Demis » 2021-03-11 12:04:35

Demis писал(а):
2021-03-11 2:41:36
Надеюсь ничего не забыл...
А как-же воспользоваться второй/другой таблицей?
Читаем внимательно https://forums.freebsd.org/threads/mult ... ost-284156
Процитирую часть:

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

Set a default route on the FIB.
/etc/rc.conf
Code:

static_routes="fibdefault"
route_fibdefault="default 22.33.44.129 -fib 1

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение Demis » 2021-03-11 12:21:19

Теперь, после внимательного изучения, останется решить вопрос "а как через эти фибы "гонять" в ipfw и nat???"
Читаем внимательно посты:
https://forums.freebsd.org/threads/ipfw ... ibs.57727/
https://jnotes.ru/multirouting-freebsd.html
И подгоняем примеры под себя.

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение Demis » 2021-03-11 18:46:42

И еще, как-то не проакцентировал момент, про хорошую диагностику в примере:
woojin писал(а):
2021-03-10 22:05:17

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

root@test:~ # tcpdump -i wlan0 -pn -v host 192.168.43 
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes 
23:52:38.874770 IP (tos 0x0, ttl 63, id 9301, offset 0, flags [DF], proto ICMP (1), length 84) 
172.16.0.10 > 192.168.43.1: ICMP echo request, id 27040, seq 0, length 64
Что хорошего мы здесь видим?
А видим мы, что пакет с хоста 172.16.0.10 дошел до адреса 172.16.0.1,
принят был интерфесом rl (172.16.0.1),
перекинут на интерфейс wlan0 (192.168.43.232),
И с оного пошел дальше, но не вернулся (есть request, а replay нету).

Причин по которой пакет не вернулся м.б. несколько, например влияние nat+ipfw.
Или, например, планшет 192.168.43.1 не знает где искать 172.16.0.10 (куда его вернуть-то?).
Т.е. планшет (как хост) должен иметь маршрут к 172.16.0.10 (но это верно если без nat+ipfw).

Если nat+ipfw настроены верно, то пакет к 192.168.43.1 пойдет "подмененным"
(в силу свойств ната,
адрес 172.16.0.10 будет заменен на "исходящий" 192.168.43.232,
который свободно достигнет 192.168.43.1,
ответ пойдет обратно на 192.168.43.232,
нат по своей механике "вернет замену" назад,
и ответ должен вернуться в 172.16.0.10 по описанному выше пути, но уже в обратную сторону).

Вывод?
Крутить ipfw+nat, смотреть их диагностику по срабатыванию правил (это не отменяет высказанного про "фибы").

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-11 22:03:30

мозг вскипел после чтения о фибах!
попробовал отправить 192.168.43.0/24 и 172.16.0.0/24 в fib 1
удалив при этом все упоминаниня о них из fib 0
реакция на пинги вообще испарилась... причём с любой стороны

попробовал и так
Demis писал(а):
2021-03-11 2:41:36
route add -net 192.168.43.1/32 192.168.43.232
и эдак
Demis писал(а):
2021-03-11 2:41:36
route add -net 192.168.43.1/32 172.16.0.1
результат тот же
ни черта не работает, кроме самой системы!
вот у неё всё в порядке...
хотя она тоже перестала пинговать 172.16.0.10 и 192.168.43.1

или я чего то не до понял после прочитанного или надо искать другой подход
прошу ЦУ

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-11 22:07:16

Demis писал(а):
2021-03-11 18:46:42
Если nat+ipfw настроены верно, то пакет к 192.168.43.1 пойдет "подмененным"
(в силу свойств ната,
адрес 172.16.0.10 будет заменен на "исходящий" 192.168.43.232,
который свободно достигнет 192.168.43.1,
ответ пойдет обратно на 192.168.43.232,
нат по своей механике "вернет замену" назад,
и ответ должен вернуться в 172.16.0.10 по описанному выше пути, но уже в обратную сторону).
дык... ето... опаньки...
я к этому и стремлюсь!
по идее если верно настроить такую подмену, то и фибы не нужны будут!
а по сколько нет replay, то значит у меня в ipfw+nat не верны правила
может всё же проще будет фаервол накрутить, но как?
в логах ни чего что могло бы натолкнуть на мысль что именно сделать - нуту или опять же я не вижу

P.S. и ещё заметил такую штуку: после подключения к планшу dhcp клиентом, меняется default gateway с 10.10.10.1 на 192.168.43.1

woojin
рядовой
Сообщения: 28
Зарегистрирован: 2020-11-19 16:04:44

FreeBSD переброс трафика между двумя интерфейсами

Непрочитанное сообщение woojin » 2021-03-11 22:37:58

Demis писал(а):
2021-03-11 18:46:42
И с оного пошел дальше, но не вернулся (есть request, а replay нету).
по поводу данного пинга (разделил правила на OUT 1020, IN 1025, OUT 2020, IN 2025)

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

Mar 12 00:31:24 test kernel: ipfw: 1025 Accept ICMP:8.0 172.16.0.10 192.168.43.1 in via rl1
Mar 12 00:31:24 test kernel: ipfw: 2020 Accept ICMP:8.0 172.16.0.10 192.168.43.1 out via wlan0
Mar 12 00:31:25 test kernel: ipfw: 1025 Accept ICMP:8.0 172.16.0.10 192.168.43.1 in via rl1
Mar 12 00:31:25 test kernel: ipfw: 2020 Accept ICMP:8.0 172.16.0.10 192.168.43.1 out via wlan0
Mar 12 00:31:26 test kernel: ipfw: 1025 Accept ICMP:8.0 172.16.0.10 192.168.43.1 in via rl1
Mar 12 00:31:26 test kernel: ipfw: 2020 Accept ICMP:8.0 172.16.0.10 192.168.43.1 out via wlan0
т.е. получается, что NAT не работает вообще wlan0, а работают только правила идущее где то в конце!
и они отрабатывают на вход пакета от .0.10 к .0.1
отправку его от .0.1 к .43.232
и на выход с .43.232 к .43.1
но назад они не возвращаются даже к .43.232!

почему так?

P.S. или я верно истолковываю логи фаервола?