Форум 3DNews
Вернуться   Форум 3DNews > Софт > Linux & FreeBSD

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 01.08.2008, 09:48   [включить плавающее окно]   #1
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 16.04.2003
Адрес: Краснодар
2 интернет соединения и прокси

есть инет шлюз, на нем Мандрива 2007
3 ethernet - 2 inet, 1 loc

конфигурция:
1 интернет соединение - натом прокидывать адреса и т.д.
2 интернет соединение исключительно для прокси
Вопрос - как заставить прокси работать именно на 2 соединении? и надо ли для него что то прописывать в iptables??
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 01.08.2008, 22:42   [включить плавающее окно]   #2
Гхост-цзы
Мужской Умудрённый
 
Аватар для Гхост-цзы
 
Регистрация: 04.06.2004
Цитата (Vladisl@v) »
есть инет шлюз, на нем Мандрива 2007
3 ethernet - 2 inet, 1 loc

конфигурция:
1 интернет соединение - натом прокидывать адреса и т.д.
2 интернет соединение исключительно для прокси
Вопрос - как заставить прокси работать именно на 2 соединении? и надо ли для него что то прописывать в iptables??
для решения этой задачи нужно -- установить пакет iproute2 (если не установлен), а также иметь в ядре поддержку iptables для ipt_owner (модулем либо жёстко встроенную); модуль должен быть загружен;
при наличии указанного инструментария алгоритм действий следующий:
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
__________________
Крылья знаний меня от людей отлучили,
Я увидел, что люди - подобие пыли.
Гхост-цзы вне форума  
Ответить с цитированием
Непрочитано 04.08.2008, 11:23   [включить плавающее окно]   #3
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 16.04.2003
Адрес: Краснодар
Гхост-цзы спасибо, буду пробовать... отпишусь что как... спасибо что всегда выручаешь
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.08.2008, 14:19   [включить плавающее окно]   #4
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 16.04.2003
Адрес: Краснодар
uid_учётки,_под_которой_запущен_сквид
поясни здесь ввожу top, ижу список запущенных процессов, вот он:
  • PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    4425 squid 15 0 95472 89m 2300 S 0 4.4 1:13.58 squid
    22097 root 16 0 2092 1068 820 R 0 0.1 0:00.03 top
    1 root 16 0 1584 548 484 S 0 0.0 0:02.09 init
    2 root RT 0 0 0 0 S 0 0.0 0:00.08 migration/0
    3 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/0
    4 root RT 0 0 0 0 S 0 0.0 0:00.01 migration/1
    5 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1
    6 root 10 -5 0 0 0 S 0 0.0 0:00.02 events/0
    7 root 10 -5 0 0 0 S 0 0.0 0:00.02 events/1
    8 root 17 -5 0 0 0 S 0 0.0 0:00.01 khelper
    9 root 10 -5 0 0 0 S 0 0.0 0:00.00 kthread
    12 root 10 -5 0 0 0 S 0 0.0 0:00.39 kblockd/0
    13 root 10 -5 0 0 0 S 0 0.0 0:00.02 kblockd/1
    14 root 13 -5 0 0 0 S 0 0.0 0:00.00 kacpid
    113 root 11 -5 0 0 0 S 0 0.0 0:00.01 kseriod
    157 root 20 0 0 0 0 S 0 0.0 0:00.00 pdflush
    158 root 15 0 0 0 0 S 0 0.0 0:00.09 pdflush
    159 root 17 0 0 0 0 S 0 0.0 0:00.00 kswapd0
    160 root 13 -5 0 0 0 S 0 0.0 0:00.00 aio/0
    161 root 13 -5 0 0 0 S 0 0.0 0:00.00 aio/1
    805 root 11 -5 0 0 0 S 0 0.0 0:00.00 kpsmoused
    807 root 15 0 0 0 0 S 0 0.0 0:00.00 kirqd
    820 root 10 -5 0 0 0 S 0 0.0 0:00.03 ata/0
    821 root 10 -5 0 0 0 S 0 0.0 0:00.00 ata/1
    826 root 14 -5 0 0 0 S 0 0.0 0:00.00 scsi_eh_0
    830 root 13 -5 0 0 0 S 0 0.0 0:00.00 scsi_eh_1
    857 root 10 -5 0 0 0 S 0 0.0 0:14.33 kjournald
    952 root 13 -4 2092 1092 432 S 0 0.1 0:00.07 udevd
    1057 root 10 -5 0 0 0 S 0 0.0 0:00.00 khubd
    1542 root 12 -5 0 0 0 S 0 0.0 0:00.00 kmirrord
    1618 root 10 -5 0 0 0 S 0 0.0 0:00.00 kjournald
    2020 root 15 0 1620 580 464 S 0 0.0 0:04.59 syslogd
    2024 daemon 16 0 1624 332 248 S 0 0.0 0:00.00 atd
    2206 messageb 15 0 2212 848 656 S 0 0.0 0:00.05 dbus-daemon
    2256 root 15 0 2344 1256 396 S 0 0.1 0:00.04 klogd
    2280 root 16 0 1572 508 436 S 0 0.0 0:00.00 acpid
    2326 root 16 0 2404 892 524 S 0 0.0 0:00.00 crond
    2371 haldaemo 15 0 5092 3412 2240 S 0 0.2 0:00.15 hald
    2372 root 17 0 2888 988 856 S 0 0.0 0:00.00 hald-runner

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 прописать????
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 06.08.2008, 11:46   [включить плавающее окно]   #5
Эрфеа
Мужской Опытный
 
Аватар для Эрфеа
 
Регистрация: 15.07.2006
Цитата (Vladisl@v) »
все проделал, вроде успешно прошло, но вот squid не стартует, вернее запускается, но не работает... может надо еще что то в iptables прописать????
у первых конфиг сквида в студию, у вторых netstat -ta, тоже интересно посмотреть. а то как не ясна картина.
__________________
Aik: Это линукс виноват. У меня где-то в начале года Дебиан тоже БП сжег. И тоже убил клавиатуру и звуковуху. А еще винт и мышь.
wherecat: .. Выжрал всю водку, наблевал в кактус и побрил кота.
Эрфеа вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 07.08.2008, 08:54   [включить плавающее окно]   #6
Гхост-цзы
Мужской Умудрённый
 
Аватар для Гхост-цзы
 
Регистрация: 04.06.2004
Цитата (Vladisl@v) »
но вот squid не стартует, вернее запускается, но не работает...
вот здесь нужно уточнить -- не стартует сам сквид или же процесс запускается, но не обрабатывает запросы; или -- и запросы обрабатывает, но ходит вовне не через второй интерфейс, а через первый;
в зависимости от проблемы станет понятно, какая дополнительная информация нужна

Гхост-цзы добавил :

Цитата (Эрфеа) »
вторых netstat -ta, тоже интересно посмотреть.
netstat конечно полезно посмотреть в любом случае, но если мне память не изменяет, nestat покажет только таблицу main; здесь предпочтительнее ip route show
к тому же если процесс запускается, но запросы ходят через 1-ый интерфейс, то врядли нужно смотреть конфиг сквида -- интереснее будет ifconfig и iptables -L FORWARD
__________________
Крылья знаний меня от людей отлучили,
Я увидел, что люди - подобие пыли.
Гхост-цзы вне форума  
Ответить с цитированием
Непрочитано 07.08.2008, 10:20   [включить плавающее окно]   #7
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 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 в 10:33.
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 07.08.2008, 22:52   [включить плавающее окно]   #8
Гхост-цзы
Мужской Умудрённый
 
Аватар для Гхост-цзы
 
Регистрация: 04.06.2004
Цитата (Vladisl@v) »
скорее всего что надо в форвард тож прописать eth1, iptables его видимо блокирует...
это однозначно (именно с этой целью я и спросил об iptables -L FORWARD); сильно подозреваю, что пара строк вида
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 ....., но если демон на них ничего не слушает, то и давить ничего не прийдётся); в общем, если есть какие-то проблемы с запуском сквида, то на мой взгляд они могут быть связаны только с правами на запись в директории логов сквида (либо на директорию, где должен быть сформирован его кеш)
__________________
Крылья знаний меня от людей отлучили,
Я увидел, что люди - подобие пыли.
Гхост-цзы вне форума  
Ответить с цитированием
Непрочитано 08.08.2008, 10:43   [включить плавающее окно]   #9
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 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" так??
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 16.08.2008, 01:36   [включить плавающее окно]   #10
Гхост-цзы
Мужской Умудрённый
 
Аватар для Гхост-цзы
 
Регистрация: 04.06.2004
Цитата (Vladisl@v) »
"--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)
__________________
Крылья знаний меня от людей отлучили,
Я увидел, что люди - подобие пыли.
Гхост-цзы вне форума  
Ответить с цитированием
Непрочитано 22.08.2008, 14:32   [включить плавающее окно]   #11
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 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

постоянно будут работать или до перезагрузки??
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 29.08.2008, 08:32   [включить плавающее окно]   #12
Гхост-цзы
Мужской Умудрённый
 
Аватар для Гхост-цзы
 
Регистрация: 04.06.2004
Цитата (Vladisl@v) »
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

видимо под рутом?
нет, всё нормально, effective_user здесь сквид
Цитата
насчет трассировки, если у меня все пакеты будут ходить на eth1 тож не хорошо, задача ведь чтоб на нем висел только прокси сервер... а остальное все обрабатывается правилами iptables и натом на нужные IP...
так в общем случае трассировка и не будет ходить через eth1; это как раз проверка, что нужные пакеты помечаются и должным образом обрабатываются; когда всё отрабатывает как задумано, трассировки
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
Цитата
постоянно будут работать или до перезагрузки??
до перезагрузки; насчёт сохранения правил iptables вроде уже обсуждалось; они сохраняются либо service iptables save, либо (как я понял, у тебя при старте выполняется приведённый выше скрипт) добавляется нужная строка в скрипт; поскольку других правил для таблицы mangle наверно нет, то положение этой строки в скрипте может быть любым;
чтобы сохранялись правила iproute, есть несколько вариантов; самый простой -- просто дописать эти 4 строки в /etc/rc.d/rc.local (в мандриве расположение rc.local может немного другое); проверка -- после ребута смотрим ip rule list и ip route list table proxy_tab
__________________
Крылья знаний меня от людей отлучили,
Я увидел, что люди - подобие пыли.
Гхост-цзы вне форума  
Ответить с цитированием
Непрочитано 29.08.2008, 11:57   [включить плавающее окно]   #13
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 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
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 29.08.2008, 23:28   [включить плавающее окно]   #14
Гхост-цзы
Мужской Умудрённый
 
Аватар для Гхост-цзы
 
Регистрация: 04.06.2004
Цитата (Vladisl@v) »
[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

ничего не выводит..
это плохо; когда на ip route add ..... выдавалось RTNETLINK answers: File exists -- это уже указывало на дублирование правила; подозреваю, что после этого duplicate стало ещё больше; + ошибка в синтаксисе -- пропущено table (....dev eth1 proxy_tab)
Цитата
что то я запутался давай последовательно, что нужно сделать
начнём сначала; подозреваю, что и в iptables набрался целый ворох одинаковых правил в таблице mangle (iptables -t mangle -L); это не страшно, но не очень красиво; поэтому для начала
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
__________________
Крылья знаний меня от людей отлучили,
Я увидел, что люди - подобие пыли.
Гхост-цзы вне форума  
Ответить с цитированием
Непрочитано 03.09.2008, 09:51   [включить плавающее окно]   #15
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 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
доступа нет...
хотя соединение есть, пингуется... думаю может дело в днс?? у меня днс сервера одни и теже для обоих соединений,
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.09.2008, 12:10   [включить плавающее окно]   #16
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 16.04.2003
Адрес: Краснодар
вообще решил пока проблему раскидав соединения по 2 пк, сейчас все ок на одном прокси, на др шлюз... все заработало, но вот прокси упорно не видел сети, пока не прописал ручками маршрут по умолчанию ip route add default via 192.168.1.1 eth1
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.09.2008, 21:37   [включить плавающее окно]   #17
Гхост-цзы
Мужской Умудрённый
 
Аватар для Гхост-цзы
 
Регистрация: 04.06.2004
Цитата (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
значит не отрабатывала метка пакетов сквида; в последовательности действий слабым звеном выглядит
Цитата
.......
[root@krfw etc]# [root@krfw Install]# ./firewall-down
[root@krfw Install]# ./firewall-newnet
........
-- если правило для mangle не было вписано в firewall-newnet, то этой манипуляцией оно было затёрто
в своё время я решал похожую задачу для postfix; первой целью было увидеть, что пакеты нужного owner-а идут не через дефолтный шлюз; для этого и нужна трассировка sudo -u owner traceroute .... ; правила фаера для INPUT и FORWARD допиливались потом
__________________
Крылья знаний меня от людей отлучили,
Я увидел, что люди - подобие пыли.
Гхост-цзы вне форума  
Ответить с цитированием
Непрочитано 09.09.2008, 14:32   [включить плавающее окно]   #18
Vladisl@v
Мужской Умудрённый
Автор темы
 
Аватар для Vladisl@v
 
Регистрация: 16.04.2003
Адрес: Краснодар
правило прописано было, как же без него.. похоже пакеты не метились..
Vladisl@v вне форума  
Конфигурация ПК
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:18. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey