LINUX.ORG.RU
решено ФорумAdmin

настройка маршрутизации, squid в centos


0

1

Помогите правильно настроить squid и iptables.

Не разу не сталкивался с настройкой ppp0 соединения, вчера осилил настройку прозрачного прокси на squid и раздачу интернета в сеть. Теперь нужно сделать что бы работал https, всякие аськи и была возможность подключится к нам из внешнего интернета.

Интернет работает через adsl модем. eth0 смотрит в модем, eth1 смотрит в локальную сеть, ppp0 - поднимается после соединения с adsl модемом.

Т. к. предыдущий админ после перехода на другого провайдера убил сервер на котором все это было настроено, а после увольнения удалил все конфиги и PDC c BDC приходится настраивать все с 0. настройку шлюза на со статическим ip я осилил для другого провайдера я осилил, а тут почему то по тем же правилам и конфигам не работает.

вывод ifconfig

[root@gw ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:08:A1:A2:56:63
          inet addr:192.168.0.4  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45806 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43283 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:48636562 (46.3 MiB)  TX bytes:5953689 (5.6 MiB)
          Interrupt:209 Base address:0xa000

eth1      Link encap:Ethernet  HWaddr 00:0C:6E:2F:D7:A1
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:51163 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50692 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5856597 (5.5 MiB)  TX bytes:50083402 (47.7 MiB)
          Interrupt:201 Base address:0x9800

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:46.21.72.106  P-t-P:88.82.85.222  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:45273 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42987 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:47608486 (45.4 MiB)  TX bytes:4988734 (4.7 MiB)

конфиг iptables

[root@gw ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
#FORWARD_IPV4=YES
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A FORWARD -s 192.168.1.0/24 -i eth1 -o ppp0 -m conntrack --ctstate NEW -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 223 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -j MARK --set-mark 0x9
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE
-A POSTROUTING -o eth1 -j SNAT --to-source 46.21.72.106
-A PREROUTING -p tcp -m tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3128
-A PREROUTING -d 46.21.72.106/32 -p tcp -m tcp --dport 15000 -j DNAT --to-destination 192.168.1.6:3389
COMMIT

конфиг squid

[root@gw ~]# cat /etc/squid/squid.conf
visible_hostname GW.centos.local
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 to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 1025 5190
acl safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
# http_acces
http_acces allow connect ssl_ports
http_acces allow manager localhost
http_acces deny manager
#http_acces deny CONNECT ISSL_ports
# ouwn rule
acl our_network src 192.168.1.0/24
acl full-access src 192.168.1.3-192.168.1.240
acl full-access src 192.168.1.2
#acl bad_url url_regex "/etc/squid/acl/bad_url.domain"
#acl upload url_regex "/etc/squid/acl/upload_domain"
#acl filetupes urlpath_regex -i "/etc/squid/acl/filetypes.acl"
#acl banners url_regex "/etc/squid/acl/ads.acl"
#http_access deny banners !full-access
#http_access deny upload !full-access
#http_access deny bad_url !full-access
http_access allow our_network
http_access allow full-access
#
icp_access allow all
#
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
cache dir  ufs /var/spool/squid 40000 16 256
maximum_object_size 50 MB
cache_swap_low 90
cache_swap_high 95
#
acces_log /var/log/squid/acces.log
#
acl QUERY urlpath_regex cgi-bin \?
refresh_pattern ^ftp:   1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
store_avg_object_size 70 MB
#acp apache rep_header Server ^Apache
cache deny QUERY
#broken_vary_encoding allow apache

Смущает эта строка: inet addr:46.21.72.106 P-t-P:88.82.85.222, какой у нас реальный IP? В договоре с провайдером написано про 88.82.72.110, но в инете везде светится 46.21.72.106

>вчера осилил настройку прозрачного прокси на squid и раздачу интернета в сеть. Теперь нужно сделать что бы работал https, всякие аськи и была возможность подключится к нам из внешнего интернета.

squid работает либо как прозрачный, либо как обычный прокси. В случае прозрачного прокси, через squid никак не пройдёт CONNECT - скажи прощай аське, https и прочим «излишествам»

Смущает эта строка: inet addr:46.21.72.106 P-t-P:88.82.85.222, какой у нас реальный IP? В договоре с провайдером написано про 88.82.72.110, но в инете везде светится 46.21.72.106

Ну так возьми и проверь. Если нет удалённого сайта, используй гугл и мозг: http://www.pcflank.com/test.htm

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

Я начинающий ламер в линуксах, поэтому прошу снисхождения.

как мне тогда пустить трафик https в обход сквида?

Может есть у Вас мануал где по пунктам расписано что как куда с комментариями что делается в конкретной строке конфига?

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

А с какой стати у тебе не работает ничего, кроме http? Наверное форвардинг не включён sysctl net.ipv4.ip_forward=1

anton_jugatsu ★★★★
()
Ответ на: комментарий от alex_stranger

c https разобрался, нужно было добавить:

-A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

Посоветуйте документ или мануал какой с примерами под разные сети и комментариями что где и как задается.

Спасибо всем за помощь и разьяснения

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

Убери вот это всё безобразие

-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE
-A POSTROUTING -o eth1 -j SNAT --to-source 46.21.72.106

В чём проблема то осталось, что не работает?

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

не могут подключится люди по rdp к нам по адресу 46.21.72.106:15000, вроде эта строка отвечает за это

-A PREROUTING -d 46.21.72.106/32 -p tcp -m tcp --dport 15000 -j DNAT --to-destination 192.168.1.6:3389

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

Огромное спасибо, заработало. как я понимаю это правило будет работать до перезагрузки, как в какую таблицу мне его вписать в /etc/sysconfig/iptables?

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

Если нет требований фильтровать транзитный трафик, то

service iptables save

Опиши, что требуется от твоего маршрутизатора, какие задачи, откуда должен быть доступ по ssh. Я напишу тебе правила.

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

Антон, спасибо большое.

Но я не прошу написать за меня правила, я хочу понять как правильно это сделать. Не буду же я каждый раз когда нужно будет что-то добавить или изменить обращаться за советом.

Вот если подскажите мне толковый мануал с примерами и объяснениями что означает каждая строка, я буду весьма благодарен.

Мы с вами настраивали резервный маршрутизатор, от него требуется не так много, и все задачи уже реализованы. На нем я буду тренироваться, когда появится основной канал интернета.

Еще есть вопрос:

Допустим есть у нас сервер с exchange на который пересылается почта с domain.domain.ru. domain.ru хостится где-то в интернетах, а домен 2 уровня привязян к нашему основному IP. можно ли привязать его к двум IP и как это сделать?

alex_stranger
() автор топика
3 мая 2012 г.
Ответ на: комментарий от anton_jugatsu

а вот у меня все равно что-то не получилось...

почитал я много всего умного (форумы, книги), но не получается сделать:

1. прозрачный DNS сервер 2. при входе на почтовые сайты (mail.ru, gmail.com, ya.ru, rambler.ru и т.д.) при авторизации у пользователей просто не допускаются туда.. 3. настроить связь между 3й сетью (нужно чтоб компы видели другую подсеть 192.168.5.0)

Или я совсем туплю или совсем не понимаю как это доделать. Подскажите кто нибудь!!!

P.S. Да, линуксом пользуюсь пару недель, но все равно ручная настройка для меня тяжеловата. Буду рад помощи и советам.

P.S.S. Да, виндовый тут не прокатит, комп древний, и что на нем работает - CentOS. Мне нравится линукс, но вот жаль, все из-за бабушек, которые «привычный интерфейс» нельзя менять, пересадить на линукс не получается..

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