|
|
Вверх #1 |
УмудрённыйАвтор темы Регистрация: 16.04.2003
Адрес: Краснодар
|
2 интернет соединения и прокси
есть инет шлюз, на нем Мандрива 2007
3 ethernet - 2 inet, 1 loc конфигурция: 1 интернет соединение - натом прокидывать адреса и т.д. 2 интернет соединение исключительно для прокси Вопрос - как заставить прокси работать именно на 2 соединении? и надо ли для него что то прописывать в iptables?? |
|
|
|
|
|
Вверх #2 |
УмудрённыйРегистрация: 04.06.2004
|
Цитата
(Vladisl@v;1523522) »
есть инет шлюз, на нем Мандрива 2007
3 ethernet - 2 inet, 1 loc конфигурция: 1 интернет соединение - натом прокидывать адреса и т.д. 2 интернет соединение исключительно для прокси Вопрос - как заставить прокси работать именно на 2 соединении? и надо ли для него что то прописывать в iptables?? при наличии указанного инструментария алгоритм действий следующий: 1 - метим пакеты, отправляемые сквидом на www-сервера; 2 - для помеченных пакетов создаём отдельную таблицу маршрутизации, правила которой погонят их через второй интерфейс; реализация этого должна выглядеть примерно так: 1) iptables -t mangle -A OUTPUT -m owner --uid-owner uid_учётки,_под_которой_запущен_сквид -j MARK --set-mark 2 2) echo 250 proxy_tab >> /etc/iproute2/rt_tables ip rule add fwmark 2 table proxy_tab ip route add default via IP_шлюза,_к_которому_подключён_второй_интерфейс dev eth2 table proxy_tab ip route flush cache
__________________
Крылья знаний меня от людей отлучили, Я увидел, что люди - подобие пыли. |
|
|
|
|
|
Вверх #4 |
УмудрённыйАвтор темы Регистрация: 16.04.2003
Адрес: Краснодар
|
Цитата
(Гхост-цзы;1523773) »
uid_учётки,_под_которой_запущен_сквид
ввожу top, ижу список запущенных процессов, вот он:
Vladisl@v добавил : UID - squid в данном случае? речь идет об имени?? Vladisl@v добавил : вот таблица mangle Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination MARK all -- anywhere anywhere OWNER UID match squid MARK set 0x2 Chain POSTROUTING (policy ACCEPT) target prot opt source destination все проделал, вроде успешно прошло, но вот squid не стартует, вернее запускается, но не работает... может надо еще что то в iptables прописать???? |
|
|
|
|
|
Вверх #5 |
ОпытныйРегистрация: 15.07.2006
|
Цитата
(Vladisl@v;1525088) »
все проделал, вроде успешно прошло, но вот squid не стартует, вернее запускается, но не работает... может надо еще что то в iptables прописать????
а то как не ясна картина.
__________________
Aik: Это линукс виноват. У меня где-то в начале года Дебиан тоже БП сжег. И тоже убил клавиатуру и звуковуху. А еще винт и мышь. wherecat: .. Выжрал всю водку, наблевал в кактус и побрил кота. |
|
|
|
|
|
Вверх #6 |
УмудрённыйРегистрация: 04.06.2004
|
Цитата
(Vladisl@v;1525088) »
но вот squid не стартует, вернее запускается, но не работает...
в зависимости от проблемы станет понятно, какая дополнительная информация нужна Гхост-цзы добавил : Цитата
(Эрфеа;1525523) »
вторых netstat -ta, тоже интересно посмотреть.
к тому же если процесс запускается, но запросы ходят через 1-ый интерфейс, то врядли нужно смотреть конфиг сквида -- интереснее будет ifconfig и iptables -L FORWARD
__________________
Крылья знаний меня от людей отлучили, Я увидел, что люди - подобие пыли. |
|
|
|
|
|
Вверх #7 |
УмудрённыйАвтор темы Регистрация: 16.04.2003
Адрес: Краснодар
|
Эрфеа netstat отображает запущенные процессы, и октрытые порты...
ip route show 8x.2x.14x.12x/29 dev eth2 proto kernel scope link src 8x.2x.14x.13x 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.2 metric 5 10.23.0.0/24 dev eth0 proto kernel scope link src 10.23.0.5 metric 1 169.254.0.0/16 dev eth0 scope link metric 1 169.254.0.0/16 dev eth1 scope link metric 5 default via 8x.2x.14x.12y dev eth2 eth2 - реальный адрес инет eth1 - идет через adsl модем на нем реальный адрес... ifconfig eth0 Link encap: Ethernet HWaddr 00:04:75:CB:74: DB inet addr:10.23.0.5 Bcast:10.23.0.255 Mask:255.255.255.0 inet6 addr: fe80::204:75ff:fecb:74db/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1340255 errors:0 dropped:0 overruns:1 frame:0 TX packets:1410871 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:303841256 (289.7 MiB) TX bytes:716982511 (683.7 MiB) Interrupt:20 Base address:0xe000 eth1 Link encap: Ethernet HWaddr 00:1D:7D:99:2A:28 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::21d:7dff:fe99:2a28/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1279 errors:0 dropped:0 overruns:0 frame:0 TX packets:17 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:76896 (75.0 KiB) TX bytes:1128 (1.1 KiB) Interrupt:21 Base address:0xe000 eth2 Link encap: Ethernet HWaddr 0x:0x:Bx:2x:1x:9x inet addr:8x.2x.14x.13x Bcast:81.26.140.135 Mask:255.255.255.248 inet6 addr: fe80::202:b3ff:fe24:169a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1371185 errors:0 dropped:0 overruns:0 frame:0 TX packets:1289336 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:704605811 (671.9 MiB) TX bytes:299139239 (285.2 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:16436 Metric:1 RX packets:202 errors:0 dropped:0 overruns:0 frame:0 TX packets:202 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:17300 (16.8 KiB) TX bytes:17300 (16.8 KiB) iptables -L FORWARD Chain FORWARD (policy DROP) target prot opt source destination bad_tcp_packets tcp -- anywhere anywhere ACCEPT all -- anywhere anywhere allowed tcp -- anywhere 10.23.0.241 tcp dpt:jetdirect ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED LOG all -- anywhere anywhere limit: avg 3/min burst 3 LOG level info prefix `IPT FORWARD packet died:' скорее всего что надо в форвард тож прописать eth1, iptables его видимо блокирует... конфиг сквида: #NETWORK OPTIONS http_port 3128 icp_port 0 # OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY # OPTIONS WHICH AFFECT THE CACHE SIZE cache_mem 100 MB cache_swap_low 97 cache_swap_high 98 maximum_object_size 64355 KB #16384 refresh_pattern -i \.gif$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.png$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.jpg$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.jpeg$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.pdf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.zip$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.tar$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.tgz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.exe$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.prz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.ppt$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.inf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.swf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.mid$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.wav$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.mp3$ 43200 100% 43200 override-lastmod override-expire # LOGFILE PATHNAMES AND CACHE DIRECTORIES cache_dir ufs /var/spool/squid 500 16 256 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log mime_table /etc/squid/mime.conf pid_filename /var/run/squid.pid debug_options ALL,1 client_netmask 255.255.255.255 # kill the banners #redirect_program /squid/redirector #redirect_program /usr/local/bin/squidGuard -c /usr/local/squidGard/squidGuard.conf #redirect_children 10 #authenticate_program /usr/lib/squid/ncsa_auth /etc/squid/squidpass # OPTIONS FOR TUNING THE CACHE #reference_age 1 month # quick_abort_min 16 KB # quick_abort_max 16 KB # quick_abort_pct 95 negative_ttl 1 minutes positive_dns_ttl 6 hours negative_dns_ttl 5 minutes # TIMEOUTS connect_timeout 2 minutes peer_connect_timeout 30 seconds #siteselect_timeout 4 seconds read_timeout 5 minutes request_timeout 60 seconds client_lifetime 4 hours half_closed_clients on # ACCESS CONTROLS #Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl office src 10.23.0.0/255.255.255.0 acl SSL_ports port 443 563 #acl Safe_ports port 80 # http #acl Safe_ports port 20 # ftp #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 acl Sites1 dstdomain "/etc/squid/deny_url.xx1" acl Sites2 dstdomain "/etc/squid/deny_url.xx2" acl stop_list url_regex "/etc/squid/stop_list.xx" acl media urlpath_regex -i \.mp3$ \.asf$ \.wma$ \.mov$ \.mp4$ \.avi$ \.ogg$ \.jpg$ \.3gp$ \.wmv$ http_access deny stop_list http_access deny all Sites1 http_access deny all Sites2 http_access allow office http_access allow manager http_access allow media http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_access deny all # ADMINISTRATIVE PARAMETERS # MISCELLANEOUS logfile_rotate 1 store_avg_object_size 13 KB client_db on error_directory /etc/squid/errors # DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option) delay_pools 2 delay_class 1 1 delay_access 1 allow media delay_access 1 deny all delay_parameters 1 3000/3000 # delay_class 2 2 delay_access 2 allow office delay_access 2 deny all delay_parameters 2 -1/-1 16000/32000 Последний раз редактировалось Vladisl@v; 07.08.2008 в 09:33. |
|
|
|
|
|
Вверх #8 |
УмудрённыйРегистрация: 04.06.2004
|
Цитата
(Vladisl@v;1525935) »
скорее всего что надо в форвард тож прописать eth1, iptables его видимо блокирует...
ACCEPT all -- anywhere anywhere соответствует паре правил iptables -A FORWARD -i eth0 -o eth2 -j ACCEPT iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT ; соответственно к ним надо добавить пару iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT (или же подправить существующие так iptables -A FORWARD -i eth0 -o eth+ -j ACCEPT iptables -A FORWARD -i eth+ -o eth0 -j ACCEPT) если я правильно понял, трафик сквида планируется гнать через eth1 (а IP модема 192.168.1.1); тогда определение маршрута должно иметь вид ip route add default via 192.168.1.1 dev eth1 table proxy_tab посмотреть нужную таблицу можно командой ip route list table proxy_tab в конфиге сквида ничего крамольного на первый взгляд не видно; есть только пара замечаний -- acl media вобще-то обычно создают с целью запрета, т.е. http_access deny media; и более важно -- http_port лучше указать так http_port 10.23.0.5:3128 так сквид будет слушать запросы только на eth0 (конечно можно удавить открытый порт сквида на внешних интерфейсах с помощью iptables -A INPUT ....., но если демон на них ничего не слушает, то и давить ничего не прийдётся); в общем, если есть какие-то проблемы с запуском сквида, то на мой взгляд они могут быть связаны только с правами на запись в директории логов сквида (либо на директорию, где должен быть сформирован его кеш)
__________________
Крылья знаний меня от людей отлучили, Я увидел, что люди - подобие пыли. |
|
|
|
|
|
Вверх #9 |
УмудрённыйАвтор темы Регистрация: 16.04.2003
Адрес: Краснодар
|
добавил правила, все сделал, но .... сквид все также работает на eth2
думаю, тебе стоит показать мои правила для iptables # Internet configuration INET_IP="8x.2x.14x.13x" INET_IFACE="eth2" INET_BCAST="8x.2x.14x.13x" INET_IP2="192.168.1.1" INET_IFACE2="eth1" LAN_IP="10.23.0.5" LAN_IP_RANGE="10.23.0.0/24" LAN_BCAST_ADDRESS="10.23.0.255" LAN_IFACE="eth0" MAIL_IP="" DNS1_IP="8x.2x.12x.x" DNS2_IP="8x.2x.13x.x" # antivirus update servers SAV_UPD_SERVER="64.86.106.98" SAV_LIVE_UPDATE="80.67.86.0/24" # Localhost configuration LO_IFACE="lo" LO_IP="127.0.0.1" ############################################### # Rules setup # Define default policies iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # Create user specified chains # Chain for bad tcp packets iptables -N bad_tcp_packets # Separate chain for ICMP, TCP, UDP iptables -N allowed iptables -N icmp_packets iptables -N tcp_packets iptables -N udpincoming_packets # Create contents in user specified chains echo "Create contents in user specified chains" # bad_tcp_packets #iptables -A bad_tcp_packets -p TCP ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:" #iptables -A bad_tcp_packets -p TCP ! --syn -m state --state NEW -j REJECT iptables -A bad_tcp_packets -p TCP ! --syn -m state --state NEW -j DROP # allowed chain iptables -A allowed -p TCP --syn -j ACCEPT iptables -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A allowed -p TCP -j DROP #iptables -A allowed -p TCP -j REJECT # TCP rules iptables -A tcp_packets -p TCP -s 0/0 --dport 111 -j DROP iptables -A tcp_packets -p TCP -s 0/0 --dport 139 -j DROP iptables -A tcp_packets -p TCP -s 0/0 --dport 1025 -j DROP iptables -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed iptables -A tcp_packets -p TCP -s 0/0 --dport 264 -j allowed # UDP rules iptables -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT iptables -A udpincoming_packets -p UDP -s 0/0 --source-port 500 -j ACCEPT iptables -A udpincoming_packets -p UDP -s 0/0 --source-port 5555 -j ACCEPT iptables -A udpincoming_packets -p UDP -s 0/0 --source-port 2746 -j ACCEPT #ICMP Rules iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT echo "add INPUT chains" # INPUT chain # Bad TCP packets we don't want iptables -A INPUT -p TCP -j bad_tcp_packets # Rules for non-internet iptables -A INPUT -p ALL -i $LAN_IFACE -d $LAN_IP_RANGE -j ACCEPT iptables -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT iptables -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT iptables -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT iptables -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADDRESS -j ACCEPT # Rules for the internet iptables -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets iptables -A INPUT -p TCP -i $INET_IFACE -j tcp_packets iptables -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets # FORWARD chain echo "add FORWARD chains" iptables -A FORWARD -i $LAN_IFACE -o $INET_IFACE2 -j ACCEPT iptables -A FORWARD -i $INET_IFACE2 -o $LAN_IFACE -j ACCEPT # Bad TCP packets we don't want iptables -A FORWARD -p TCP -j bad_tcp_packets # Accept the packets we actually want to forward iptables -A FORWARD -i $LAN_IFACE -j ACCEPT iptables -A FORWARD -i $LO_IFACE -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Log weird packets that don't match above iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level info --log-prefix "IPT FORWARD packet died:" # OUTPUT chain echo "add OUTPUT chains" # Bad TCP packets we don't want iptables -A OUTPUT -p TCP -j bad_tcp_packets # Special OUTPUT rules to decide which IP's to allow iptables -A OUTPUT -p ALL -s $LO_IP -j ACCEPT iptables -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT iptables -A OUTPUT -p ALL -s $INET_IP -j ACCEPT # Log weird packets that don't match above iptables -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level info --log-prefix "IPT OUTPUT packet died:" echo "add NAT chains" #Prerouting chain echo "add SNAT chains for local users" #Source nat from local network for internet users all lan users nat to internet #------------------------------------------------------------------------- #unlimited permisson to internet iptables -t nat -A POSTROUTING -o $INET_IFACE --src $KR_ADMIN_IP -j SNAT --to-source $INET_IP #mail ip iptables -t nat -A POSTROUTING -o $INET_IFACE --dst $MAIL_IP -j SNAT --to-source $INET_IP #access to symantec live update server iptables -t nat -A POSTROUTING -o $INET_IFACE --dst $SAV_UPD_SERVER -j SNAT --to-source $INET_IP iptables -t nat -A POSTROUTING -o $INET_IFACE --dst $SAV_LIVE_UPDATE -j SNAT --to-source $INET_IP #reply to dns server iptables -t nat -A POSTROUTING -o $INET_IFACE --dst $DNS1_IP -j SNAT --to-source $INET_IP iptables -t nat -A POSTROUTING -o $INET_IFACE --dst $DNS2_IP -j SNAT --to-source $INET_IP #all access #iptables -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP #------------------------------------------------------------------------- echo "All chains complited" Vladisl@v добавил : многое убрано, типа пробросы портов, удаленный доступ и т.д. но это не главное... Vladisl@v добавил : да, и насчет1) iptables -t mangle -A OUTPUT -m owner --uid-owner uid_учётки,_под_которой_запущен_сквид -j MARK --set-mark 2 "--uid-owner uid_учётки,_под_которой_запущен_сквид " - он запущен под именем "squid" так?? |
|
|
|
|
|
Вверх #10 |
УмудрённыйРегистрация: 04.06.2004
|
Цитата
(Vladisl@v;1526392) »
"--uid-owner uid_учётки,_под_которой_запущен_сквид " - он запущен под именем "squid" так??
ps aux|grep squid Цитата
но .... сквид все также работает на eth2
sudo -u squid traceroute www.yandex.ru или sudo -u squid traceroute 77.88.21.3 если трассировка до цели проходит по задуманному (через eth1, 192.168.1.1 и далее), значит в целом правила отрабатывают и нужно искать затык в фаере, поскольку его правила достаточно строгие (даже для цепочки OUTPUT дефолтная политика DROP; соответственно как минимум нужно разрешить исходящий траф генерируемый самим шлюзом с eth1); при этом как известно, порядок правил имеет значение (т.е. если пакет соответствует какому-то правилу цепочки, то оно отрабатывает, и следующие за ним условия не проверяются); если трассировка уходит через eth2, то проблема либо в самих правилах, либо в том, что нужные пакеты не метятся (не загружен модуль iptable_mangle); если трассировка идёт через eth1, но обрывается на 192.168.1.1, значит нужно сделать ряд дополнительных шагов с настройкой маршрутизации (например, -- на дсл-модеме прописать статический маршрут в сетку 10.23.0.0 или добавить в конфиг сквида параметр tcp_outgoing_address 192.168.1.2)
__________________
Крылья знаний меня от людей отлучили, Я увидел, что люди - подобие пыли. |
|
|
|
|
|
Вверх #11 |
УмудрённыйАвтор темы Регистрация: 16.04.2003
Адрес: Краснодар
|
ps aux | grep squid
root 28385 0.0 0.1 8416 2176 ? Ss Aug21 0:00 squid -D squid 28387 0.0 2.1 49788 45120 ? S Aug21 0:23 (squid) -D squid 28389 0.0 0.0 1420 292 ? Ss Aug21 0:00 (unlinkd) root 30224 0.0 0.0 2996 772 pts/1 S+ 14:43 0:00 grep --color squid видимо под рутом? насчет адреса, я дал тот же что и на модеме!!!! 192.168.1.1 - сейчас исправил в правилах iptables на 192.168.1.2 ... насчет трассировки, если у меня все пакеты будут ходить на eth1 тож не хорошо, задача ведь чтоб на нем висел только прокси сервер... а остальное все обрабатывается правилами iptables и натом на нужные IP... сейчас проделывал теже операции, ip route add default via 192.168.1.1 dev eth1 table proxy_tab получил RTNETLINK answers: File exists удалить его? Vladisl@v добавил : и еще вопрос, все команды 1) iptables -t mangle -A OUTPUT -m owner --uid-owner uid_учётки,_под_которой_запущен_сквид -j MARK --set-mark 2 2) echo 250 proxy_tab >> /etc/iproute2/rt_tables ip rule add fwmark 2 table proxy_tab ip route add default via IP_шлюза,_к_которому_подключён_второй_интерфейс dev eth2 table proxy_tab ip route flush cache постоянно будут работать или до перезагрузки?? |
|
|
|
|
|
Вверх #12 |
УмудрённыйРегистрация: 04.06.2004
|
Цитата
(Vladisl@v;1532759) »
ps aux | grep squid
root 28385 0.0 0.1 8416 2176 ? Ss Aug21 0:00 squid -D squid 28387 0.0 2.1 49788 45120 ? S Aug21 0:23 (squid) -D squid 28389 0.0 0.0 1420 292 ? Ss Aug21 0:00 (unlinkd) root 30224 0.0 0.0 2996 772 pts/1 S+ 14:43 0:00 grep --color squid видимо под рутом? Цитата
насчет трассировки, если у меня все пакеты будут ходить на eth1 тож не хорошо, задача ведь чтоб на нем висел только прокси сервер... а остальное все обрабатывается правилами iptables и натом на нужные IP...
sudo -u squid traceroute 77.88.21.3 и просто traceroute 77.88.21.3 будут отличаться (первая через eth1, вторая через eth2) Цитата
сейчас проделывал теже операции,
ip route add default via 192.168.1.1 dev eth1 table proxy_tab получил RTNETLINK answers: File exists удалить его? ip route list table proxy_tab Цитата
постоянно будут работать или до перезагрузки??
чтобы сохранялись правила iproute, есть несколько вариантов; самый простой -- просто дописать эти 4 строки в /etc/rc.d/rc.local (в мандриве расположение rc.local может немного другое); проверка -- после ребута смотрим ip rule list и ip route list table proxy_tab
__________________
Крылья знаний меня от людей отлучили, Я увидел, что люди - подобие пыли. |
|
|
|
|
|
Вверх #13 |
УмудрённыйАвтор темы Регистрация: 16.04.2003
Адрес: Краснодар
|
что то я запутался
давай последовательно, что нужно сделать[root@krfw /]# iptables -t mangle -A OUTPUT -m owner --uid-owner squid -j MARK --set-mark 2 [root@krfw /]# echo 250 proxy_tab >>/etc/iproute2/rt_tables [root@krfw /]# ip rule add fwmark 2 table proxy_tab [root@krfw /]# ip route add default via 192.168.1.1 dev eth1 proxy_tab Error: either "to" is duplicate, or "proxy_tab" is a garbage. [root@krfw /]# ip route flush cache [root@krfw /]# ip route list table proxy_tab ничего не выводит.. [root@krfw /]# ip rule list 0: from all lookup local 32765: from all fwmark 0x2 lookup proxy_tab 32766: from all lookup main 32767: from all lookup default Vladisl@v добавил : ip route show 8x.2x.14x.12x/29 dev eth2 proto kernel scope link src 8x.2x.14x.13x 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.2 metric 5 10.23.0.0/24 dev eth0 proto kernel scope link src 10.23.0.5 metric 1 169.254.0.0/16 dev eth0 scope link metric 1 169.254.0.0/16 dev eth1 scope link metric 5 default via 81.26.140.129 dev eth2 Vladisl@v добавил : все таки не добавляется маршрут, отсюда и sudo -u squid traceroute 77.88.21.3 traceroute to 77.88.21.3 (77.88.21.3), 30 hops max, 38 byte packets 1 host-12x-14x-2x-8x.xxx.xxx.ru (8x.2x.14x.12x) 3.391 ms 2.050 ms 3.065 ms 2 PEboneGW-G-0-1-xxx.xxx.ru (8x.2x.12x.6x) 21.489 ms 4.312 ms 5.012 ms 3 gCORESe-Ge-0-1-xxx.xxx.ru (8x.2x.12x.4x) 3.894 ms 3.319 ms 2.256 ms 4 ge-1-3-0.500.krdr-rgr1.ug.ip.rostelecom.ru (87.226.141.205) 3.796 ms 2.958 ms 3.903 ms 5 so-4-0-0.m10-ar1.msk.ip.rostelecom.ru (87.226.139.170) 21.314 ms 22.094 ms 21.112 ms 6 87.226.233.198 (87.226.233.198) 23.045 ms 23.113 ms 21.254 ms 7 www.yandex.ru (77.88.21.3) 46.967 ms 24.465 ms 24.903 ms |
|
|
|
|
|
Вверх #14 |
УмудрённыйРегистрация: 04.06.2004
|
Цитата
(Vladisl@v;1535206) »
[root@krfw /]# ip route add default via 192.168.1.1 dev eth1 proxy_tab
Error: either "to" is duplicate, or "proxy_tab" is a garbage. [root@krfw /]# ip route list table proxy_tab ничего не выводит.. Цитата
что то я запутался давай последовательно, что нужно сделать
iptables -t mangle -F iptables -t mangle -X iptables -t mangle -A OUTPUT -m owner --uid-owner squid -j MARK --set-mark 2 после этого iptables более не трогаем; чтобы это правило сохранилось после ребута, записываем его в скрипт (или service iptables save, если используется стартовый скрипт из /etc/init.d/) далее; подозреваю, что и echo 250 proxy_tab >>/etc/iproute2/rt_tables выполнялся много раз; поэтому скорее всего cat /etc/iproute2/rt_tables выдаст множество одинаковых строк в конце этого файла; это тоже надо исправить -- открываем /etc/iproute2/rt_tables на редактирование и оставляем только одну строку 250 proxy_tab , все остальные такие дубликаты удаляем; и более команду echo .... не выполняем; так подумал -- и в rc.local её тоже не надо дописывать; далее -- ip rule add fwmark 2 table proxy_tab можно не выполнять, если в выводе ip rule list есть строка с .... from all fwmark 0x2 lookup proxy_tab; далее -> ip route flush table proxy_tab ip route add default via 192.168.1.1 dev eth1 table proxy_tab ip route flush cache проверка -- ip route list table proxy_tab наконец, вариант сохранения правил iproute после ребута -- дописываем в конец rc.local следующее ip rule add fwmark 2 table proxy_tab ip route add default via 192.168.1.1 dev eth1 table proxy_tab ip route flush cache
__________________
Крылья знаний меня от людей отлучили, Я увидел, что люди - подобие пыли. |
|
|
|
|
|
Вверх #15 |
УмудрённыйАвтор темы Регистрация: 16.04.2003
Адрес: Краснодар
|
как оказалось, были еще проблемы с адсл соединением, модем показывал что видит нет, но реально не пускал, пришлось помучается с ним немало.. вообщем они решены...
проверяю наличие нета на данном соединении, пингую днс: ping -c 4 8х.2х.13х.6х -I eth1 PING 8х.2х.13х.6х (8х.2х.13х.6х) from 192.168.1.2 eth1: 56(84) bytes of data. 64 bytes from 8х.2х.13х.6х: icmp_seq=1 ttl=253 time=3.77 ms 64 bytes from 8х.2х.13х.6х: icmp_seq=2 ttl=253 time=3.49 ms 64 bytes from 8х.2х.13х.6х: icmp_seq=3 ttl=253 time=7.16 ms 64 bytes from 8х.2х.13х.6х: icmp_seq=4 ttl=253 time=3.51 ms --- 8х.2х.13х.6х ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3012ms rtt min/avg/max/mdev = 3.492/4.484/7.162/1.551 ms [root@krfw /]# [root@krfw etc]# iptables -t mangle -L Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination MARK all -- anywhere anywhere OWNER UID match squid MARK set 0x2 Chain POSTROUTING (policy ACCEPT) target prot opt source destination [root@krfw etc]# iptables -t mangle -F [root@krfw etc]# iptables -t mangle -X [root@krfw etc]# iptables -t mangle -A OUTPUT -m owner --uid-owner squid -j MARK --set-mark 2 [root@krfw etc]# cat /etc/iproute2/rt_tables # # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep 250 proxy_tab [root@krfw etc]# ip rule list 0: from all lookup local 32765: from all fwmark 0x2 lookup proxy_tab 32766: from all lookup main 32767: from all lookup default [root@krfw etc]# ip route flush table proxy_tab Nothing to flush. [root@krfw etc]# service squid stop Останавливается squid: [ OK ] [root@krfw etc]# ip route add default via 192.168.1.1 dev eth1 table proxy_tab [root@krfw etc]# ip route flush cache [root@krfw etc]# ip route list table proxy_tab default via 192.168.1.1 dev eth1 [root@krfw etc]# service squid start Запускается squid: .................... [ OK ] [root@krfw etc]# ps ax | grep squid 14336 ? Ss 0:00 squid -D 14338 ? S 0:00 (squid) -D 14384 pts/3 S+ 0:00 grep --color squid [root@krfw etc]# [root@krfw Install]# ./firewall-down [root@krfw Install]# ./firewall-newnet Create contents in user specified chains add INPUT chains add FORWARD chains add OUTPUT chains add NAT chains add SNAT chains for local users All chains complited [root@krfw Install]# service iptables save Текущие правила сохраняются в /etc/sysconfig/iptables: [ OK ] Vladisl@v добавил : в конфигурации сквида указано tcp_outgoing_address 192.168.1.2 в цепочках iptables политики по умолчанию закрыты # Define default policies #iptables -P INPUT DROP #iptables -P OUTPUT DROP #iptables -P FORWARD DROP добавлено iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT Vladisl@v добавил : squid молчит... запушен, но доступа через него нет.. Vladisl@v добавил : даже при установленном маршруте ip route add default via 192.168.1.1 dev eth1 table proxy_tab sudo -u squid traceroute 77.88.21.3 traceroute to 77.88.21.3 (77.88.21.3), 30 hops max, 38 byte packets 1 host-x-x-x-x.x.x.ru (8x.2x.14x.12x) 3.281 ms 3.114 ms 2.078 ms 2 PEboneGW-G-0-1-x.x.ru (8x.2x.12x.6x) 4.809 ms 4.915 ms 6.060 ms 3 gCORESe-Ge-0-1-x.x.ru (8x.2x.12x.4x) 3.480 ms 3.509 ms 2.732 ms 4 ge-1-3-0.500.krdr-rgr1.ug.ip.rostelecom.ru (87.226.141.205) 68.407 ms 2.831 ms 3.897 ms 5 so-4-0-0.m10-ar1.msk.ip.rostelecom.ru (87.226.139.170) 22.304 ms 22.253 ms 21.235 ms 6 87.226.233.198 (87.226.233.198) 22.386 ms 22.479 ms 22.524 ms 7 www.yandex.ru (77.88.21.3) 22.919 ms 23.426 ms 24.318 ms [root@krfw Install]# ip route list table proxy_tab [root@krfw Install]# ip route add default via 192.168.1.1 dev eth1 table proxy_tab [root@krfw Install]# ip route list table proxy_tab default via 192.168.1.1 dev eth1 [root@krfw Install]# sudo -u squid traceroute 77.88.21.3 traceroute to 77.88.21.3 (77.88.21.3), 30 hops max, 38 byte packets 1 8x.2x.14x.12x (8x.2x.14x.12x) 3.375 ms 3.352 ms 2.082 ms 2 81.26.129.60 (81.26.129.60) 5.168 ms 4.717 ms 4.920 ms 3 81.26.129.45 (81.26.129.45) 3.396 ms 9.392 ms 3.307 ms 4 87.226.141.205 (87.226.141.205) 2.832 ms 107.224 ms 81.327 ms 5 87.226.139.170 (87.226.139.170) 128.128 ms 114.590 ms 92.820 ms 6 87.226.233.198 (87.226.233.198) 83.367 ms 21.634 ms 22.892 ms 7 77.88.21.3 (77.88.21.3) 22.777 ms 103.680 ms 82.484 ms такое ощущение что проблема в днс, кстати 2 раз довольно долго шла трассировка... Vladisl@v добавил : уже думаю, поднять 2 машину (раньше так и было) и сделать ее чистым прокси.. Vladisl@v добавил : все же дело в правилах iptables, вроде продублировал все для 2 интерфейса (eth1), те же правила что и были для eth, но даже прямо не пускает, т.е. есть правило #unlimited permisson to internet iptables -t nat -A POSTROUTING -o $INET_IFACE --src $KR_ADMIN_IP -j SNAT --to-source $INET_IP по нему я имею полный доступ к нету делаю: iptables -t nat -A POSTROUTING -o $INET_IFACE2 --src $KR_ADMIN_IP -j SNAT --to-source $INET_IP2 доступа нет... хотя соединение есть, пингуется... думаю может дело в днс?? у меня днс сервера одни и теже для обоих соединений, |
|
|
|
|
|
Вверх #16 |
УмудрённыйАвтор темы Регистрация: 16.04.2003
Адрес: Краснодар
|
вообще решил пока проблему раскидав соединения по 2 пк, сейчас все ок
на одном прокси, на др шлюз... все заработало, но вот прокси упорно не видел сети, пока не прописал ручками маршрут по умолчанию ip route add default via 192.168.1.1 eth1
|
|
|
|
|
|
Вверх #17 |
УмудрённыйРегистрация: 04.06.2004
|
Цитата
(Vladisl@v;1537498) »
даже при установленном маршруте ip route add default via 192.168.1.1 dev eth1 table proxy_tab
sudo -u squid traceroute 77.88.21.3 traceroute to 77.88.21.3 (77.88.21.3), 30 hops max, 38 byte packets 1 host-x-x-x-x.x.x.ru (8x.2x.14x.12x) 3.281 ms 3.114 ms 2.078 ms Цитата
.......
[root@krfw etc]# [root@krfw Install]# ./firewall-down [root@krfw Install]# ./firewall-newnet ........ в своё время я решал похожую задачу для postfix; первой целью было увидеть, что пакеты нужного owner-а идут не через дефолтный шлюз; для этого и нужна трассировка sudo -u owner traceroute .... ; правила фаера для INPUT и FORWARD допиливались потом
__________________
Крылья знаний меня от людей отлучили, Я увидел, что люди - подобие пыли. |
|
|
|