BSDPORTAL.RU

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

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




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

Зарегистрирован: Вт 27 дек, 2016 2:20 pm
Сообщения: 15
Доброго времени суток :) На сервере есть две сетевухи, соответственно 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
Сообщения: 15
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
Сообщения: 15
Цитата:
второе - 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
Сообщения: 15
Таки нет ни у кого мыслей в какую сторону копать? :?


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

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


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

Зарегистрированные пользователи: нет зарегистрированных пользователей


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

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