Консультация № 177548
29.03.2010, 17:54
42.12 руб.
0 21 0
Прошу помочь в настройке непрозрачного прокси squid. Установлена Fedora 12. Cделаны настройки в необходимых конфигурационных файлах. Но через прокси не работает выход в нет, может что-то в настройках iptables

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [131203:5516988]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p icmp -m icmp --icmp-type 12 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p icmp -m icmp --icmp-type 4 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 47539 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 3 -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -p icmp -m icmp --icmp-type 12 -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -p icmp -m icmp --icmp-type 4 -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

ps aux | grep squid
root 3425 0.0 0.0 87072 836 pts/0 S+ 16:47 0:00 grep squid





Обсуждение

Неизвестный
29.03.2010, 18:16
общий
судя по последней строке squid не запущен
какие ошибки призапуске squid, и что в лог-файлах?
Неизвестный
29.03.2010, 18:53
общий
В логе:
var/log/squid/squid/cache.log

2010/03/29 12:07:34| Squid Cache (Version 3.0.STABLE20): Exiting normally.
2010/03/29 12:07:36| Starting Squid Cache version 3.0.STABLE20 for x86_64-redhat-linux-gnu...
2010/03/29 12:07:36| Process ID 2361
2010/03/29 12:07:36| With 1024 file descriptors available
2010/03/29 12:07:36| DNS Socket created at 0.0.0.0, port 35802, FD 7
2010/03/29 12:07:36| Adding nameserver 195.5.29.2 from /etc/resolv.conf
2010/03/29 12:07:36| User-Agent logging is disabled.
2010/03/29 12:07:36| Referer logging is disabled.
2010/03/29 12:07:36| Unlinkd pipe opened on FD 11
2010/03/29 12:07:36| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2010/03/29 12:07:36| Swap maxSize 10240000 + 8192 KB, estimated 788322 objects
2010/03/29 12:07:36| Target number of buckets: 39416
2010/03/29 12:07:36| Using 65536 Store buckets
2010/03/29 12:07:36| Max Mem size: 8192 KB
2010/03/29 12:07:36| Max Swap size: 10240000 KB
2010/03/29 12:07:36| Version 1 of swap file without LFS support detected...
2010/03/29 12:07:36| Rebuilding storage in /var/spool/squid (CLEAN)
2010/03/29 12:07:36| Using Least Load store dir selection
2010/03/29 12:07:36| Set Current Directory to /var/spool/squid
2010/03/29 12:07:36| Loaded Icons.
2010/03/29 12:07:36| Accepting HTTP connections at 10.17.13.1, port 3128, FD 13.
2010/03/29 12:07:36| HTCP Disabled.
2010/03/29 12:07:36| Ready to serve requests.
2010/03/29 12:07:36| Done reading /var/spool/squid swaplog (0 entries)
2010/03/29 12:07:36| Finished rebuilding storage from disk.
2010/03/29 12:07:36| 0 Entries scanned
2010/03/29 12:07:36| 0 Invalid entries.
2010/03/29 12:07:36| 0 With invalid flags.
2010/03/29 12:07:36| 0 Objects loaded.
2010/03/29 12:07:36| 0 Objects expired.
2010/03/29 12:07:36| 0 Objects cancelled.
2010/03/29 12:07:36| 0 Duplicate URLs purged.
2010/03/29 12:07:36| 0 Swapfile clashes avoided.
2010/03/29 12:07:36| Took 0.02 seconds ( 0.00 objects/sec).
2010/03/29 12:07:36| Beginning Validation Procedure
2010/03/29 12:07:36| Completed Validation Procedure
2010/03/29 12:07:36| Validated 25 Entries
2010/03/29 12:07:36| store_swap_size = 0
2010/03/29 12:07:37| storeLateRelease: released 0 objects
2010/03/29 12:09:06| Squid is already running! Process ID 2361
2010/03/29 12:09:13| Squid is already running! Process ID 2361
2010/03/29 12:12:46| Preparing for shutdown after 0 requests
2010/03/29 12:12:46| Waiting 30 seconds for active connections to finish
2010/03/29 12:12:46| FD 13 Closing HTTP connection
2010/03/29 12:13:17| Shutting down...
2010/03/29 12:13:17| Closing unlinkd pipe on FD 11
2010/03/29 12:13:17| storeDirWriteCleanLogs: Starting...
2010/03/29 12:13:17| Finished. Wrote 0 entries.
2010/03/29 12:13:17| Took 0.00 seconds ( 0.00 entries/sec).
CPU Usage: 0.292 seconds = 0.165 user + 0.127 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
Memory usage for squid via mallinfo():
total space in arena: 3824 KB
Ordinary blocks: 3706 KB 3 blks
Small blocks: 0 KB 6 blks
Holding blocks: 2500 KB 10 blks
Free Small blocks: 0 KB
Free Ordinary blocks: 117 KB
Total in use: 6206 KB 162%
Total free: 118 KB 3%


При запуске ошибок не возникает
Прошу помочь
Неизвестный
29.03.2010, 19:38
общий
Думаю сначала нужно разобраться с настройками сквида а не iptables.
Попробуйте закомментировать все строки и начиная с минимальной конфигурации сквида раскомментировать по одной и перегружать сквид: squid -k reconfigure
Неизвестный
29.03.2010, 19:55
общий
2010/03/29 12:09:06| Squid is already running! Process ID 2361
2010/03/29 12:09:13| Squid is already running! Process ID 2361

squid уже запущен. Но, видимо неверно работает. Убейте процесс 2361 и запустите squid заново.
Неизвестный
29.03.2010, 20:05
общий
SQUID заработал, но как теперь сделать, что бы работал только SQUID, а то сейчас работает и NAT и SQUID, т.е любой юзер снял галочку в броузере и работает через NAT
давно
Академик
20764
1861
29.03.2010, 20:11
общий
NAT у вас не работает, во всяком случае, в приведённой вами конфигурации iptables про него ничего нет.
Неизвестный
29.03.2010, 20:21
общий
Если вы хотите полностью заворачивать весь http трафик на squid, сделайте это при помощи iptables. Вот полезная статья: http://linuxportal.ru/entry.php/81_0_3_0_C/
Неизвестный
29.03.2010, 20:43
общий
NAT работает, забыл в конце здесь указать
iptables:
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j SNAT --to-source yyy.yyy.yyy.yyy
давно
Академик
20764
1861
29.03.2010, 20:46
общий
Kozyr76:
Если nat вам не нужен - уберите всю цепочку
Неизвестный
29.03.2010, 20:56
общий
Завернул трафик, но все как работало так и работает как через nat так и через squid (непрозрачний) Что же здесь еще не так ?

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 3128

Неизвестный
29.03.2010, 20:59
общий
И как же это сделать в моем примере, все 4 строки закоментировать (Хватов Сергей, Практикант)?
давно
Академик
20764
1861
29.03.2010, 21:02
общий
все 6 - от *nat до COMMIT включительно
Неизвестный
29.03.2010, 21:10
общий
закоментировал и все заработало через squid, но у-вы не работает порт 443 25 110
Неизвестный
29.03.2010, 21:13
общий
Вводил в консоли, но порты не открылись

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 25 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 110 -j REDIRECT --to-port 3128
Неизвестный
29.03.2010, 21:19
общий
может необходимо их в iptables ввести перед закомментированным NAT?
давно
Академик
20764
1861
29.03.2010, 21:26
общий
Kozyr76:
Если вы хотите. чтобы запросы на какие-то порты по-прежнему шли через nat - верните цепочку nat обратно, только правила ACCEPT должны быть такими:
-A POSTROUTING -o eth0 -m tcp --dport 25 -j SNAT --to-source yyy.yyy.yyy.yyy
и так для всех нужных портов

Но вообще-то о том, что вы хотите получить, сообщайте заранее, а то из вас информацию приходится вытягивать
Неизвестный
29.03.2010, 21:35
общий
Да, понял, прошу прощенья. Нужно настроить прокси сервер, что бы через него проходил весь трафик и банк-клиент, https, кроме забора почты 25 и 110 порты
Неизвестный
29.03.2010, 21:51
общий
nat
-A POSTROUTING -o eth0 -m tcp --dport 25 -j SNAT --to-source yyy.yyy.yyy.yyy - выдает ошибку
commit

КАк же быть теперь, работает только один 80 порт? Как быть с остальными...
давно
Академик
20764
1861
29.03.2010, 22:02
общий
Kozyr76:
извините - пропустил параметр:
-A POSTROUTING -o eth0 -p tcp -m tcp --dport 25 -j SNAT --to-source yyy.yyy.yyy.yyy
Возможно, что -m tcp тут лишнее, но мешать вроде бы не должно.
Неизвестный
29.03.2010, 22:16
общий
yyy.yyy.yyy.yyy- внутренний адрес ? так же прописать и с портами 110 25 8091 (банк-клиенты)? Так, нет? Странно, мы ведь это все указываем в squid.conf:

acl SSL_ports port 443 563 8443 9091
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 8443 9091 # https
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 Safe_ports port 5190 #icq
acl CONNECT method CONNECT
.
.
.
http_access deny CONNECT !SSL_ports
Неизвестный
29.03.2010, 22:51
общий
Почта заработала, а как быть с портами, которые используют антивирусы для обновления?
Форма ответа