Дорогие друзья, решил прибегнуть к вашей помощи и очень на неё расчитываю.
С FreeBSD столкнулся относительно недавно и поэтому очень относительно в ней разбираюсь поэтому строго не судить мои вопросы!Суть задачи была как не когда проста сделать прозрачный прокси сервер для работы пользователей в Интернети и естественно подсчет трафика!КОнечно в будушем возникнет ещё рад потребностей но это в будушим.
И так я взялся за дело с интуиазмом так как в инети полно про это статей.Всё шло не шатко ни валко но потехонечку всё продвигалось к поставленной цели.
Но после того как были вроде бы успешно настроены PPP соединение с провайдером DNS и DHCP Так же заработал Squid и PF настал ступор прозрачное проксирование ни как не захотело работать. На данный момент всё работает следуюшем образом если в браузере прописать прокси то интернет работает и всё пишет в логи если в браузере ни чего не прописывытьа то интернет так же работает но в логи Squida ни чего не пишештся если перечитать конфиг PF pfctl -f /etc/pf.conf то инет перестает работать так, только через прокси.
Далее выложу конфиги Squid и PF и очень надеюсь на вашу помошь.
Так же ещё хотел поросить занаюш срочно возникла потребность открыть RDP как видно из конфигов я что то пытался сделать но ни чего пока не получилась....
Очень прошу помогите дельным советом!!!
Если возникнут какие нибуть вопросы всегда рад буду ответить!
Заранее огромное спасибо!
pf.conf
priv_nets = "{ 127.0.0.0/8, 192.168.10.0/16, 172.16.0.0/12, 10.0.0.0/8 }"
ext_if="tun0"
int_if="vr0"
ext_addr="0.0.0.0"
ip_lan = "{ 192.168.10.0/24 }"
tcp_service = "{ 22, 25, 110, 80, 8080, 8081, 1494, 1723 }"
udp_service = " { 1194, 1604 }"
block_ports = "{ 445, 5554, 9996, 4444, 69, 135, 137, 138, 139, 113, 3067, 2041}"
admin_user = " { 192.168.10.2}"
mail_ports = "{ 25, 110 }"
ext_mail_user = "{ 192.168.10.0/24 }"
#############################
##------------- Rules---------
##############################
##-----------Traffic Normalization-------------
###scrub in on $ext_if all fragment reassemble min-ttl 20 max-mss 1440
scrub in on $ext_if all fragment reassemble min-ttl 20 max-mss 1500
scrub in on $ext_if all no-df
scrub on $ext_if all reassemble tcp
#---------------transparent proxy Squid
rdr on $int_if inet proto tcp from $ip_lan to any port www -> 127.0.0.1 port 3128
##-----------TRANSLATIONS--------
#--------------Nat---------------
nat on $ext_if from $ip_lan to any -> ($ext_if)
#nat pass on $ext_if from $int_if:network to any -> ($ext_if)
#-------------RDP---------------
rdr on $ext_if proto tcp from any to any port 3389 -> 192.168.10.248 port 3389
#nat pass on $int_if proto tcp from any to 192.168.10.248 port 3389 -> ($int_if)
#------------Citrix------------
#rdr on $ext_if proto tcp from any to any port 1494 -> 192.168.10.160 port 1494
#rdr on $ext_if proto udp from any to any port 1604 -> 192.168.10.160 port 1604
#-------------Quick--------------------
block drop in quick on $ext_if from $priv_nets to any
block drop out quick on $ext_if from any to $priv_nets
block drop in quick on $ext_if inet proto tcp from any to any port $block_ports
#---------------RDP
#pass in quick on $ext_if inet proto tcp from any to 192.168.10.248 port 3389 keep state flags S/SA
#---------------Citrix
#pass in quick on $ext_if inet proto tcp from any to 192.168.10.160 port 1494 keep state flags S/SA
#pass in quick on $ext_if inet proto udp from any to 192.168.10.160 port 1604 keep state
#----------Block ALL!--------------
block log all
#----------- allow localhost-----------
pass on lo0 all
pass on ng0 all
#---------- ICMP TRAFIC--080414
pass in quick on $ext_if proto icmp from any to $ext_addr icmp-type echoreq
pass in quick on $ext_if proto icmp from any to $ext_addr icmp-type echorep
pass out quick on $ext_if proto icmp from $ext_addr to any icmp-type echoreq
pass out quick on $ext_if proto icmp from $ext_addr to any icmp-type echorep
block in log-all quick on $ext_if proto icmp from any to any
block out log-all quick on $ext_if proto icmp from any to any
#--------------allow PPP proto gre-----------
pass in on $ext_if inet proto gre from any to any keep state
#-------------- LAN NET ------------------------------------------------------------
pass in on $int_if from $int_if:network to any keep state
pass out on $int_if from any to $int_if:network keep state
pass out on $ext_if from $ext_if to any keep state
#------------------ MAIL ---------------------------------------------------------------
block in on $int_if inet proto tcp from any to any port $mail_ports
pass in on $int_if inet proto tcp from $ext_mail_user to any port $mail_ports flags S/SA keep state
#--------------- pass in only need service ports -----------------------------------------------
pass in on $ext_if inet proto tcp from any to $ext_if port $tcp_service flags S/SA keep state
pass in on $ext_if inet proto udp from any to $ext_if port $udp_service keep state
pass in inet proto icmp all keep state
pass out on $ext_if proto tcp from any to any flags S/SA modulate state
pass out on $ext_if proto udp from any to any keep state
pass out on $ext_if proto gre from any to any keep state
pass out on $ext_if proto icmp from any to any keep state
squid.conf
http_port 3128 transparent
access_log /usr/local/squid/logs/access.log squid
cache_log /usr/local/squid/logs/cache.log
cache_store_log /usr/local/squid/logs/store.log
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_effective_user squid
cache_effective_group squid
#-----------------------------------------
#httpd_accel_host virtual
#httpd_accel_port 80
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on
#-----------------------------------------
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
# REJIK
#url_rewrite_program /usr/local/rejik/redirector /usr/local/rejik/redirector.conf
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 192.168.10.0/255.255.255.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Jabber_ports port 5222 5223
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports !Jabber_ports
http_access deny to_localhost
acl our_networks src 192.168.10.0/24
http_access allow localhost manager
http_access allow our_networks
http_access deny all
httpd_suppress_version_string on
http_reply_access allow all
visible_hostname InternetServer
via off
forwarded_for off
acl FTP proto FTP
error_directory /usr/local/etc/squid/errors/Russian-1251