BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: IPFW kernelNAT и SQUID
СообщениеДобавлено: Пн 09 янв, 2017 3:09 pm 
Не в сети

Зарегистрирован: Вт 27 дек, 2016 2:20 pm
Сообщения: 9
Доброго времени суток :) На сервере есть две сетевухи, соответственно re0 - "нижняя" локалка, em0 - "верхняя" локалка, почему так? Исторически сложилось и я борюсь за то, чтобы это исправить! В "верхней" сети роутер, через который идет выход в мир! Обе сети работают через сервер, то есть всех выпускает в интернет данный сервер через роутер! Машинка как шлюз работает на ура, есть в ipfw redirect - если пользователь с одной или другой сети ломиться на на некий адрес в интернете, то я его перенаправляю на локальный ip!
IPFW:
#!/bin/sh
#flush
ipfw -q -f flush
ipfw add allow all from any to any via lo0
#nat
ipfw nat 1 config log if em0 reset same_ports \
redirect_port tcp 192.168.100.13:3389 3389 \
redirect_port tcp 192.168.100.253:622 622 \
redirect_port tcp 192.168.100.193:8082 x.x.x.x:8082 \
redirect_port tcp 192.168.100.3:80 x.x.x.x:8083
ipfw add nat 1 ip from any to any via em0
ipfw nat 2 config if re0 reset same_ports \
redirect_port tcp 192.168.100.193:8082 x.x.x.x:8082 \
redirect_port tcp 192.168.100.3:80 x.x.x.x:8083
ipfw add nat 2 ip from any to any via re0

ipfw add allow log all from any to any


Еще на сервере стоит squid - не прозрачный, тоже работает отлично (всех конечно пропускает пока каникулы :) )

SQUID:
visible_hostname squid

acl localnet src 192.168.100.0/24 # RFC1918 possible internal network
acl SSL_ports port 443 # RFC1918 possible internal network
acl Safe_ports port 80 # RFC1918 possible internal network
acl Safe_ports port 21 # RFC 4193 local private network range
acl Safe_ports port 443 # RFC 4291 link-local (directly plugged) machines

acl Safe_ports port 70
acl Safe_ports port 210 # http
acl Safe_ports port 1025-65535 # ftp
acl Safe_ports port 280 # https
acl Safe_ports port 488 # gopher
acl Safe_ports port 591 # wais
acl Safe_ports port 777 # unregistered ports
acl CONNECT method CONNECT # http-mgmt

acl admins src 192.168.100.13
acl whiteList url_regex -i "/usr/local/etc/squid/whiteList" # multiling http
acl GLPI-62354 port 62354

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow GLPI-62354
http_access allow localnet
http_access allow all

http_port 3128
coredump_dir /var/squid/cache
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320


Собственно проблема! Когда идешь через сквиду то проброс по этой ip-шке (x.x.x.x) не работает! Не могу никак разобраться, как правильно сделать! :shock:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPFW kernelNAT и SQUID
СообщениеДобавлено: Пн 09 янв, 2017 6:33 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт 12 апр, 2005 1:14 pm
Сообщения: 106
Откуда: SPb
дайте вывод ipfw show, ipfw nat show config, ifconfig, netstat -rn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPFW kernelNAT и SQUID
СообщениеДобавлено: Вт 10 янв, 2017 11:06 am 
Не в сети

Зарегистрирован: Вт 27 дек, 2016 2:20 pm
Сообщения: 9
IPFW SHOW:
Код:
00100    49758    37715752 allow ip from any to any via lo0
00200 28307680 22080165344 nat 1 ip from any to any via em0
00300 27382928 20909482795 nat 2 ip from any to any via re0
00400        0           0 allow log logamount 50 ip from any to any
65535      729       62467 allow ip from any to any

IPFW NAT SHOW CONFIG:
Код:
ipfw nat 2 config if re0 same_ports reset redirect_port tcp 192.168.100.3:80 91.232.173.137:8083 redirect_port tcp 192.168.100.193:8082 91.232.173.137:8082
ipfw nat 1 config if em0 log same_ports reset redirect_port tcp 192.168.100.3:80 91.232.173.137:8083 redirect_port tcp 192.168.100.193:8082 91.232.173.137:8082 redirect_port tcp 192.168.100.253:622 622 redirect_port tcp 192.168.100.13:3389 3389
ipfw nat 3 config if lo0 same_ports reset redirect_port tcp 192.168.100.193:8082 91.232.173.137:8082

Почему-то тут nat 3 :shock: ?
IFCONFIG:
Код:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 52:54:00:b7:de:14
        inet 10.86.31.253 netmask 0xffffff00 broadcast 10.86.31.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE>
        ether 52:54:00:e0:29:5e
        inet 192.168.100.1 netmask 0xffffff00 broadcast 192.168.100.255
        inet 192.168.100.253 netmask 0xffffff00 broadcast 192.168.100.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

NETSTAT -RN:
Код:
Active Internet connections
Proto Recv-Q Send-Q Local Address          Foreign Address        (state)
tcp4       0      0 10.86.31.253.32238     e.mail.ru.https        ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.129.50762  ESTABLISHED
tcp4       0      0 10.86.31.253.59561     portal.mail.ru.http    ESTABLISHED
tcp4       0      0 10.86.31.253.31576     e.mail.ru.https        ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.153.51279  ESTABLISHED
tcp4       0      0 10.86.31.253.33232     std-carp61-http..http  ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.111.51825  ESTABLISHED
tcp4       0      0 10.86.31.253.39295     173.194.32.172.https   TIME_WAIT
tcp4       0      0 10.86.31.253.17231     e.mail.ru.https        ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.163.49809  ESTABLISHED
tcp4       0      0 10.86.31.253.58773     ec2-52-43-151-13.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.236.50932  ESTABLISHED
tcp4       0      0 10.86.31.253.17940     yandex.ru.https        ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.153.51277  ESTABLISHED
tcp4       0      0 10.86.31.253.17938     ip58.155.odnokla.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.153.51274  ESTABLISHED
tcp4       0      0 10.86.31.253.17936     yandex.ru.https        ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.236.50930  ESTABLISHED
tcp4       0      0 10.86.31.253.17933     108.177.14.95.https    ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.116.49834  ESTABLISHED
tcp4       0      0 10.86.31.253.21560     nsportal2.vps-pr.http  TIME_WAIT
tcp4       0      0 10.86.31.253.46256     mail.yandex.ru.https   ESTABLISHED
tcp4       0      0 10.86.31.253.54995     nsportal2.vps-pr.http  TIME_WAIT
tcp4       0      0 10.86.31.253.58074     nsportal2.vps-pr.http  TIME_WAIT
tcp4       0      0 10.86.31.253.64969     nsportal2.vps-pr.http  TIME_WAIT
tcp4       0      0 192.168.100.1.3128     192.168.100.116.49832  ESTABLISHED
tcp4       0      0 10.86.31.253.38521     nsportal2.vps-pr.http  TIME_WAIT
tcp4       0      0 192.168.100.1.3128     192.168.100.116.49830  TIME_WAIT
tcp4       0      0 10.86.31.253.57063     nsportal2.vps-pr.http  TIME_WAIT
tcp4       0      0 10.86.31.253.59372     is-radar44.commo.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.129.50740  ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.129.50738  TIME_WAIT
tcp4       0      0 10.86.31.253.52273     std-carp61-http..http  ESTABLISHED
tcp4       0      0 10.86.31.253.10566     prg03s02-in-f3.1.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.198.2242   ESTABLISHED
tcp4       0      0 10.86.31.253.44038     prg03s02-in-f4.1.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.198.2240   ESTABLISHED
tcp4       0      0 10.86.31.253.37029     le-in-f154.1e100.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.198.2238   ESTABLISHED
tcp4       0      0 10.86.31.253.25647     95.213.11.144.https    ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.198.2233   ESTABLISHED
tcp4       0      0 10.86.31.253.18788     edge-star-mini-s.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.198.2230   ESTABLISHED
tcp4       0      0 10.86.31.253.59885     95.213.11.144.http     TIME_WAIT
tcp4       0      0 192.168.100.1.3128     192.168.100.198.2219   TIME_WAIT
tcp4       0      0 10.86.31.253.48315     173.194.122.196.https  ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.198.2214   ESTABLISHED
tcp4       0      0 10.86.31.253.27453     173.194.122.196.https  ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.10.50660   ESTABLISHED
tcp4       0     64 10.86.31.253.collabora 10.86.31.100.50562     ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.157.1451   FIN_WAIT_2
tcp4       0      0 192.168.100.1.3128     192.168.100.157.1449   FIN_WAIT_2
tcp4       0      0 192.168.100.1.3128     192.168.100.10.50610   ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.157.1186   FIN_WAIT_2
tcp4       0      0 192.168.100.1.3128     192.168.100.157.1181   FIN_WAIT_2
tcp4       0      0 192.168.100.1.3128     192.168.100.157.1180   FIN_WAIT_2
tcp4       0      0 192.168.100.1.3128     192.168.100.157.1177   FIN_WAIT_2
tcp4       0      0 192.168.100.1.3128     192.168.100.141.49218  FIN_WAIT_1
tcp4       0      0 192.168.100.1.3128     192.168.100.141.49205  FIN_WAIT_1
tcp4       0      0 10.86.31.253.26673     static.criteo.ne.http  LAST_ACK
tcp4       0      0 10.86.31.253.35400     portal-xiva.yand.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.236.50908  ESTABLISHED
tcp4       0      0 10.86.31.253.63799     portal-xiva.yand.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.62.1862    ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.157.1073   FIN_WAIT_2
tcp4       0      0 192.168.100.1.3128     192.168.100.157.1053   FIN_WAIT_2
tcp4       0      0 10.86.31.253.50236     std-carp61-http..http  ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.10.50499   ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.10.50489   ESTABLISHED
tcp4       0      0 10.86.31.253.63282     lo-in-f188.1e100.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.62.1844    ESTABLISHED
tcp4       0      0 10.86.31.253.63273     jim17.mail.ru.https    ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.163.49771  ESTABLISHED
tcp4       0      0 10.86.31.253.36167     jim16.mail.ru.https    ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.10.50296   ESTABLISHED
tcp4       0      0 10.86.31.253.37930     xiva-daria.mail..https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.116.49771  ESTABLISHED
tcp4       0      0 10.86.31.253.37846     mrim79.mail.ru.https   ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.146.51357  ESTABLISHED
tcp4       0      0 10.86.31.253.41984     xiva-daria.mail..https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.198.2162   ESTABLISHED
tcp4       0      0 10.86.31.253.34894     jim34.mail.ru.https    ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.129.50641  ESTABLISHED
tcp4       0      0 10.86.31.253.65257     95.213.4.195.https     ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.10.48938   ESTABLISHED
tcp4       0      0 10.86.31.253.42092     jim16.mail.ru.https    ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.153.50839  ESTABLISHED
tcp4       0      0 192.168.100.1.17047    192.168.100.133.http   ESTABLISHED
tcp4       0   1455 192.168.100.1.3128     192.168.100.10.47106   ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.106.50596  ESTABLISHED
tcp4       0      0 10.86.31.253.53073     104.40.225.204.https   ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.10.44453   ESTABLISHED
tcp4       0      0 10.86.31.253.55119     ec2-52-26-162-22.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.198.1548   ESTABLISHED
tcp4       0      0 localhost.707          localhost.nfsd         CLOSED
tcp4       0      0 10.86.31.253.21537     194-58-102-16.xs.8000  ESTABLISHED
tcp4       0    496 192.168.100.1.3128     192.168.100.10.42773   ESTABLISHED
tcp4       0      0 10.86.31.253.39542     server23702.team.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.197.49239  ESTABLISHED
tcp4       0      0 10.86.31.253.60289     ec2-35-164-196-1.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.156.49254  ESTABLISHED
tcp4       0      0 10.86.31.253.42965     41.204.109.91.ho.https ESTABLISHED
tcp4       0      0 192.168.100.1.3128     192.168.100.19.1052    ESTABLISHED
udp6       0      0 localhost.43932        localhost.31271
udp6       0      0 localhost.31271        localhost.43932
Netgraph sockets
Type  Recv-Q Send-Q Node Address   #Hooks
ctrl       0      0 mpd10255-eso:     0
ctrl       0      0 mpd10255-cso:     0
ctrl       0      0 mpd10255-lso:     0
data       0      0 mpd10255-eso:     0
data       0      0 mpd10255-cso:     0
data       0      0 mpd10255-lso:     0
Active UNIX domain sockets
Address  Type   Recv-Q Send-Q    Inode     Conn     Refs  Nextref Addr
c99966b8 stream      0      0        0 c999660c        0        0
c999660c stream      0      0        0 c99966b8        0        0
c9bce60c stream      0      0        0 c672b204        0        0
c672b204 stream      0      0        0 c9bce60c        0        0
c672b6b8 stream      0      0 c6788c34        0        0        0 /var/run/rpcbind.sock
c672b158 stream      0      0 c69ce11c        0        0        0 /tmp/mysql.sock
c672b968 stream      0      0 c672dc34        0        0        0 /var/run/devd.pipe
c672b560 dgram       0      0        0 c672b764        0 c672b4b4
c9996560 dgram       0      0        0 c672b810        0 c672b2b0
c672b2b0 dgram       0      0        0 c672b810        0 c672b000
c672b4b4 dgram       0      0        0 c672b764        0 c672aac0
c672aac0 dgram       0      0        0 c672b764        0 c672ae1c
c672ae1c dgram       0      0        0 c672b764        0 c672aec8
c672aec8 dgram       0      0        0 c672b764        0 c672b0ac
c672b000 dgram       0      0        0 c672b810        0 c672b35c
c672b0ac dgram       0      0        0 c672b764        0        0
c672b35c dgram       0      0        0 c672b810        0        0
c672b764 dgram       0      0 c677d000        0 c672b560        0 /var/run/logpriv
c672b810 dgram       0      0 c677d11c        0 c9996560        0 /var/run/log
c672b8bc seqpac      0      0 c672db18        0        0        0 /var/run/devd.seqpacket.pipe


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPFW kernelNAT и SQUID
СообщениеДобавлено: Вт 10 янв, 2017 2:54 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт 12 апр, 2005 1:14 pm
Сообщения: 106
Откуда: SPb
смотрите, какой замечательный результат - вы уже сами догадались, что то, что вы хотите и то, что компьютер делает - не одно и то же :)
ладно, почему у вас результат описания правил не совпадает с текущими - это одно. второе - netstat -rn должно было вывести таблицу маршрутизации, а вы дали вывод текущих сетевых соединений. третье - по поиску redirect_port есть подсказка на этом же форуме, что same_port надо ставить после - иначе оно выполняется первым и перенаправление конкретных портов не работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPFW kernelNAT и SQUID
СообщениеДобавлено: Ср 11 янв, 2017 7:40 am 
Не в сети

Зарегистрирован: Вт 27 дек, 2016 2:20 pm
Сообщения: 9
Цитата:
второе - netstat -rn должно было вывести таблицу маршрутизации

я набрал netstst nr без минуса :oops:
Код:
Routing tables

Internet:
Destination        Gateway            Flags      Netif Expire
default            10.86.31.225       UGS         em0
10.86.31.0/24      link#1             U           em0
10.86.31.253       link#1             UHS         lo0
127.0.0.1          link#3             UH          lo0
192.168.100.0/24   link#2             U           re0
192.168.100.1      link#2             UHS         lo0
192.168.100.253    link#2             UHS         lo0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::/96                             ::1                           UGRS        lo0
::1                               link#3                        UH          lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        lo0
fe80::/10                         ::1                           UGRS        lo0
fe80::%lo0/64                     link#3                        U           lo0
fe80::1%lo0                       link#3                        UHS         lo0
ff01::%lo0/32                     ::1                           U           lo0
ff02::/16                         ::1                           UGRS        lo0
ff02::%lo0/32                     ::1                           U           lo0

А по поводу same_ports я их и в конец ставил, и убирал и из каждого nat'а redirect_port на нужное мне правило, чтобы оно было только по одному интерфейсу. Сейчас работает без прокси редирект как и раньше, только строк меньше стало в правилах. Я тут подумал, когда сам сервер от себя куда нибудь в инет обращается он тоже через натовскую таблицу идет? Я просто не могу полного понять маршрута пакетов идущего через сквиду!
Сейчас файл правил стал такой:
Код:
#!/bin/sh

#flush
ipfw -q -f flush
ipfw add allow all from any to any via lo0
#nat
ipfw nat 1 config log if em0  \
        redirect_port tcp 192.168.100.13:3389 3389 \
        redirect_port tcp 192.168.100.253:622 622 \
        redirect_port tcp 192.168.100.193:8082 91.232.173.137:8082
ipfw add nat 1 ip from any to any via em0

ipfw nat 2 config if re0
ipfw add nat 2 ip from any to any via re0


ipfw add allow log all from any to any


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPFW kernelNAT и SQUID
СообщениеДобавлено: Чт 12 янв, 2017 4:13 pm 
Не в сети

Зарегистрирован: Вт 27 дек, 2016 2:20 pm
Сообщения: 9
Таки нет ни у кого мыслей в какую сторону копать? :?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot], Yahoo [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика