LINUX.ORG.RU
ФорумAdmin

Несколько вопросов по сетям (squid, forward, samba)


0

0

Добрый день, есть вопросы по сабжу.
Имеется:
Mandriva 2007.0 PowerPack
интерфейс eth0 (192.168.0.1/255.255.255.0) - домашняя сеть через хаб.
интерфейс eth2 (192.168.1.2/255.255.255.0) - подключен модем.
В качестве прокси на данный момент используется toonel.net (софтина на яве для сжатия трафика)
toonel.net повешен на порт 8081.
В софте прописывается как прокси 127.0.0.1:8081.
Хочу настроить:
1. squid (настраиваю на порт 8080), чтобы он ходил через 127.0.0.1:8081. Прописываю в качестве parent proxy 127.0.0.1:8081.
Проблема: ломится напрямую в интернет, минуя toonel.net (в логах пишет, что такой прокси найден; примерно так; за точность не ручаюсь - уже две недели, как временно забросил это удовольствие;) - не особо нужно). Куда копать? В винде использовал связку: опера -> handycache -> toonel.net -> интернет. Работало без проблем.

2. Пока пытаюсь настроить еще (параллельно), чтобы для eth0 (с других компов в домашней сети; 192.168.0.* через 192.168.0.1) можно было выходить в интернет, используя toonel.net, запущенный на мандриве, т.е.: комп в сети (192.168.0.21, например) -> комп с мандривой (192.168.0.1) -> toonel.net (127.0.0.1:8081) -> интернет. Потом, как разберусь со сквидом - вставлю его перед toonel.net. В качестве прокси на 192.168.0.21 прописываю 192.168.1.2:8081.
Проблема: в логах пишет martian destination 127.0.0.1 from 192.168.0.21, dev eth0 (пока гоняю через vmware, гостевая OS: win xp SP2).
Куда копать?
Если на компах с eth0 не использовать прокси (т.е. прописать только шлюз 192.168.0.1), то все работает. Но хочется настроить именно как прокси: для контроля трафика и его экономии (кэш, сжатие).

3. И вопрос по поводу samba: с мандривы на винду заходит без проблем через smb://. Проблема: когда с винды заходишь на мандрива, то мандрива вешается намертво (если играет музыка - зависает; намлок и пр. не работает и тд).
Подскажите куда копать, plz;). Хочу заставить работать...

p.s. iptables (от того, что, имхо, не важно оставил только комментарии):
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
[0:0] -A FORWARD -i ppp0 -o ppp0 -j DROP
[0:0] -A FORWARD -i eth2 -o eth2 -j DROP
[0:0] -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
# все в логи

#локальные адреса разрешаем.

#разрешаем все входящие и исходящие с eth2

#разрешаем все входящие и исходящие с eth0

#все входящие с ppp0, кроме инициированных с моей стороны обламываем.

# FTP

#открываем порт аськи

#открываем порт atlantic

#открываем для toonel.net

#почта (начало)
#почта (конец)

#UDP

[0:0] -A FORWARD -o ppp0 -p tcp -m tcp --dport 21 -j ACCEPT
[0:0] -A FORWARD -o ppp0 -p tcp -m tcp --dport 80 -j ACCEPT
[0:0] -A FORWARD -o ppp0 -p tcp -m tcp --dport 443 -j ACCEPT
[0:0] -A FORWARD -o ppp0 -p tcp -m tcp --dport 110 -j ACCEPT
[0:0] -A FORWARD -o ppp0 -p tcp -m tcp --dport 25 -j ACCEPT
[0:0] -A FORWARD -o ppp0 -p tcp -m tcp --dport 8080 -j ACCEPT
[0:0] -A FORWARD -o ppp0 -p udp -m udp --dport 53 -j ACCEPT
[0:0] -A FORWARD -o ppp0 -p udp -m udp --dport 123 -j ACCEPT
[0:0] -A FORWARD -o ppp0 -p udp -m udp --dport 137 -j ACCEPT
[0:0] -A FORWARD -o eth2 -j ACCEPT
[0:0] -A FORWARD -i eth0 -p tcp -m tcp --dport 8081 -j ACCEPT

COMMIT

*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp -d 192.168.1.2 --dport 8081 -j DNAT --to-destination 127.0.0.1:8081
[0:0] -A PREROUTING -i lo -p tcp -m tcp -d 192.168.1.2 --sport 8081 -j DNAT --to-destination 127.0.0.1:8081
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT

Поможите кто чем может, плиз;).
Если нужна какая-то дополнительная инфа - спрашивайте.

Спасибо.


> Прописываю в качестве parent proxy 127.0.0.1:8081

Не забудь написать never_direct allow all

> в качестве прокси на 192.168.0.21 прописываю 192.168.1.2:8081

Чувак - ты же свой tool.net собственноручно повесил на 127.0.0.1, с какого фига тебя кто-то будет слушать на 192.168.0.1?

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

> Не забудь написать never_direct allow all

Ага. Щаз попробую. tnx.

>Чувак - ты же свой tool.net собственноручно повесил на 127.0.0.1, с какого фига тебя кто-то будет слушать на 192.168.0.1?

Если я правильно понимаю, то здесь пакеты с eth0 на 192.168.1.2:8081 должны перенаправляться на 127.0.0.1:8081. Не то?
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp -d 192.168.1.2 --dport 8081 -j DNAT --to-destination 127.0.0.1:8081
[0:0] -A PREROUTING -i lo -p tcp -m tcp -d 192.168.1.2 --sport 8081 -j DNAT --to-destination 127.0.0.1:8081

Кстати, смотрел через "netstat -a | grep -i listening | grep 8081" - порт 8081 никто не слушает. Даже на 127.0.0.1.

MSH
() автор топика

Локально все работает как нужно (т.е. прописал 192.168.1.2:8080 в качестве прокси - все идет по цепочке браузер -> squid -> toonel.net -> интернет).

Но выяснилось, что зависает комп все-таки не из-за самбы. Как я думал ранее.
Подправил iptables (разрешил все входящие с eth0 (было отключено)) - после попытки выйти в инет с гостевой винды (из vmware) - комп вешается. Полностью.

Куда копать? Думал, что какие-то глюки с samba... Попробую сейчас еще линукс в вмваре поставить... Как я понял, любые попытки зайти на машину, если есть такая возможность с мандривой приводят к зависанию.
Например, были запрещены входящие с eth0, кроме форвардинга - ничего не зависало, интернет работал ("напрямую"); разрешил INPUT с eth0 - зависло при первой же попытке куда-либо выйти.

Спасибо.

MSH
() автор топика
Ответ на: комментарий от MSH

Напиши что у тебя в iptables забито чтобы твоя машина ходила браузер-сквид-toonel-inet ?

Всё пытаюсь прозрачно это дело настроить и не выходит

anonymous
()
Ответ на: комментарий от anonymous

iptables. Часть вырезана. Еще не донастроил. Кстати, может быть гуру какие-нибудь советы посоветуют;) - буду признателен.
Сеть на данный момент только внутри квартиры. Поэтому внутри особо не заморачивался. Думаю поограничивать.
BTW, "прямой" выход на HTTP (порт 80) запрещен. Для того, чтобы "регулировать доступ" софта к HTTP и FTP. Если нужно, то просто в софте прописываю прокси 192.168.1.2:8080 ;)
toonel.net настроен на 127.0.0.1:8081

---
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
[0:0] -A FORWARD -i ppp0 -o ppp0 -j DROP
[0:0] -A FORWARD -i eth2 -o eth2 -j DROP
[0:0] -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
# все в логи
[0:0] -A INPUT -j LOG --log-level 7 --log-tcp-options
[0:0] -A OUTPUT -j LOG --log-level 7 --log-tcp-options
[0:0] -A FORWARD -j LOG --log-level 7 --log-tcp-options

#локальные адреса разрешаем.
[0:0] -A INPUT -i lo -j ACCEPT
[0:0] -A OUTPUT -o lo -j ACCEPT

#разрешаем все входящие и исходящие с eth2
[0:0] -A INPUT -i eth2 -j ACCEPT
[0:0] -A OUTPUT -o eth2 -j ACCEPT

#разрешаем все входящие и исходящие с eth0
[0:0] -A INPUT -i eth0 -j ACCEPT
[0:0] -A OUTPUT -o eth0 -j ACCEPT

#все входящие с ppp0, кроме инициированных с моей стороны обламываем.
[0:0] -A INPUT -i ppp0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
[0:0] -A FORWARD -i ppp0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
[0:0] -A INPUT -i ppp0 -j REJECT --reject-with icmp-port-unreachable

# FTP
#[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --dport 21 -j ACCEPT
#[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --sport 21 -j ACCEPT
#[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --dport 20 -j ACCEPT
#[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --sport 20 -j ACCEPT
#[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --dport 443 -j ACCEPT

#HTTP
#[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --dport 80 -j ACCEPT
#[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --sport 80 -j ACCEPT

#открываем порт аськи
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --dport 5190 -j ACCEPT

#открываем порт atlantic
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --dport 1234 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp --dport 11234 -j ACCEPT

#открываем для toonel.net
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 85.25.148.242 --dport 8080 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 87.118.102.154 --dport 8080 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 216.117.134.18 --dport 8080 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 216.117.134.180 --dport 8080 -j ACCEPT

#weather
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 140.90.128.70 --dport 80 -j ACCEPT

#почта (начало)
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 217.197.114.149 --dport 110 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 217.197.114.149 --dport 25 -j ACCEPT

[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 217.197.114.134 --dport 110 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 217.197.114.134 --dport 25 -j ACCEPT

[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 194.67.23.102 --dport 110 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p tcp -m tcp -d 194.67.23.111 --dport 25 -j ACCEPT
#почта (конец)

#UDP
[0:0] -A OUTPUT -o ppp0 -p udp -m udp -d 80.243.64.67 --dport 53 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p udp -m udp -d 80.243.64.67 --dport 123 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p udp -m udp -d 80.243.68.34 --dport 53 -j ACCEPT
[0:0] -A OUTPUT -o ppp0 -p udp -m udp -d 80.243.68.34 --dport 123 -j ACCEPT

COMMIT

*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
---

Часть squid.conf (основное):
---
#На каких адресах и портах слушать.
http_port 192.168.1.2:8080
http_port 192.168.0.1:8080

#Вышестоящий прокси
cache_peer 127.0.0.1 parent 8081 3130

#Запрет на доступ в интернет в обход вышестоящего прокси. Если я правильно помню.
never_direct allow all
---
Кажись, основное все. В squid нужно еще прописать кому давать доступ (через acl - в conf достаточно подробные комменты по всем моментам, имхо).

MSH
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.