настройка шлюза (в продолжении старой темы)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

настройка шлюза

Сообщение SLEDopit »

в продолжении http://linuxforum.ru/index.php?act=findpost&pid=696088 (уж очень часто мне говорили одна тема - один вопрос :) )
схема пока что такая роутер (с него идет дозвон прову ) - сервер - свитч - остальные машины.
на сервере 2 сетевые. все работает. сервер в инет ходит. машины видят друг друга и сервер.

непонятно:

1) как заставить ходить в инет остальные машины, которые за свитчем?
сделал маскарадинг

Код: Выделить всё

iptables -t nat -A POSTROUTING -s 10.10.1.0/24 -o eth1 -j MASQUERADE

кат ип_форвардинг выдает единичку.
тока машины в инет не ходят.
возможно я неверно настраиваю сеть на самих машинах. поэтому вкратце о настройках что я указал:
на сервере шлюз 192.168.1.1,
eth1 (смотрит в нет) inet addr:192.168.1.2 Mask:255.255.255.0
eth2 (смотрит в локалку) inet addr:10.10.1.1 Mask:255.0.0.0
днс 192.168.1.1

на машинах задаю
шлюз 10.10.1.1
eth1 (смотрит на сервер ) inet addr:10.10.1.Х Mask:255.0.0.0
днс 192.168.1.1 (он вообще тут нужен?)

2) необходимо ставить сквид и самс. их как я понимаю достаточно установить и настроить на сервере. они будут резать по заданным критериям весь проходящий через него трафик. или не так?

и вообще, я хоть правильно пытаюсь нет настраивать через iptables или нужно как то по другому? :)
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Hater
Сообщения: 165
ОС: Archlinux

Re: настройка шлюза

Сообщение Hater »

SLEDopit
Вы определитесь - либо NAT, либо прокси. Вот насчёт подсчёта трафика ч-з NAT я мало что знаю...
last.fm user Hater-X
Спасибо сказали:
Kris
Сообщения: 146
Статус: Безумный гентушник

Re: настройка шлюза

Сообщение Kris »

Чем мне нравится gentoo, так хорошей документацией.
http://www.gentoo.org/doc/ru/home-router-howto.xml
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: настройка шлюза

Сообщение SLEDopit »

так, ясно. многое встало на свои места :)
буду ставить прокси сервер. всем спасибо, нашел пару статеек о настройке оного сижу изучаю, если возникнут проблемы при настройке отпишусь :)
всем спасибо.
пс в статейках читал что если нужна статистика по пользователям, то только делать сквид с обязательной авторизацией + ставить мускл и в него писать статистику. можно как нибудь попроще?)
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: настройка шлюза

Сообщение IMB »

SLEDopit писал(а):
13.08.2008 00:18
если нужна статистика по пользователям, то только делать сквид с обязательной авторизацией + ставить мускл и в него писать статистику. можно как нибудь попроще?)

У меня прокси без авторизации, статистика строится lightsquid-ом на основе логов squid-а.
Спасибо сказали:
Аватара пользователя
nacmyx
Сообщения: 101
ОС: centos

Re: настройка шлюза

Сообщение nacmyx »

Должен заметить что использование прокси значительно снижает вероятность получить от прова письмецо со словами "с ваших адресов наблюдается большое количество спама".
от бабусь есть польза - они иногда умирают
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: настройка шлюза

Сообщение SLEDopit »

ну вот, теперь начались сложности в настройке :(
мой squid.conf
Пример squid.confКод

Код:

http_port 3128 visible_hostname localhost cache_mgr admin@server.com cache_effective_user squid hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY cache_mem 64 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 8192 KB minimum_object_size 0 KB maximum_object_size_in_memory 256 KB ipcache_size 2048 ipcache_low 90 ipcache_high 95 fqdncache_size 4096 cache_replacement_policy lru memory_replacement_policy lru cache_dir ufs /usr/local/etc/squid/cache 5000 16 256 logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt access_log /var/log/squid/access.log squid cache_log /dev/null cache_store_log /var/log/squid/store.log auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off # httpd_accel_host virtual # httpd_accel_port 80 # httpd_accel_with_proxy on # httpd_accel_uses_host_header on refresh_pattern -i \.gif$ 10080 90% 43200 refresh_pattern -i \.(jpg|jpeg|png|bmp)$ 10080 90% 43200 refresh_pattern -i \.swf$ 10080 90% 43200 refresh_pattern . 1440 50% 22160 acl all src 0.0.0.0/0 acl local_net src 127.0.0.0/8 acl banners url_regex "/etc/squid/banners" acl porno url_regex "/etc/squid/porno" acl warez url_regex "/etc/squid/warez" http_access deny banners http_access deny porno http_access deny warez http_access allow local_net http_access deny all coredump_dir /var/log/squid/cache

хоть \то необязательно но все же:

/etc/squid/banners

Код: Выделить всё

^http?://bs\.yandex\.ru
^http?://images\.rambler\.ru
^http?://top100-images\.rambler\.ru
^http?://ban\.aport\.ru
^http?://[^/]*top\.list\.ru/counter
^http?://[^/]*spylog.com/cnt

/usr/local/etc/squid/porno

Код: Выделить всё

^http?://[^/]*sex[^/]*\.[a-z]{2,4}
^http?://[^/]*xxx[^/]*\.[a-z]{2,4}
^http?://[^/]*porn[^/]*\.[a-z]{2,4}
^http?://[^/]*erotic[^/]*\.[a-z]{2,4}
^http?://[^/]*girl[^/]*\.[a-z]{2,4}

/usr/local/etc/squid/warez

Код: Выделить всё

^http?://[^/]*nnm\.ru
^http?://[^/]*kpnemo\.ru
^http?://[^/]*animereactor\.ru
^http?://[^/]*vkontakte[^/]*\.[a-z]{2,4}
^http?://[^/]*odnoklassniki[^/]*\.[a-z]{2,4}
^http?://[^/]*torrent[^/]*\.[a-z]{2,4}
^http?://[^/]*kino[^/]*\.[a-z]{2,4}
^http?://[^/]*sport[^/]*\.[a-z]{2,4}
^http?://[^/]*warez[^/]*\.[a-z]{2,4}
^http?://[^/]*video[^/]*\.[a-z]{2,4}
^http?://[^/]*soft[^/]*\.[a-z]{2,4}
^http?://[^/]*kino[^/]*\.[a-z]{2,4}
^http?://[^/]*share[^/]*\.[a-z]{2,4}
^http?://[^/]*crack[^/]*\.[a-z]{2,4}


squid запускается, все замечательно.
но не могу настроить дорогу клиентским машинам в инет.
указываю в ясте в проксях адрес машины и порт 3128. и тишина. тест в самом ясте проходит. в инет не ходит.
забил все эти настройки в браузере (мозилла) - бесполезно.

далее вычитал где то, что возможно нужно добавить в автозагрузку перед запуском сквида следующую штуку:

Код:

:PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :outtos - [0:0] :pretos - [0:0] -A PREROUTING -j pretos -A OUTPUT -j outtos -A outtos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10 -A outtos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10 -A outtos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10 -A outtos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10 -A outtos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08 -A outtos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08 -A pretos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10 -A pretos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10 -A pretos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10 -A pretos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10 -A pretos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08 -A pretos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08 COMMIT # Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003 *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.1 COMMIT # Completed on Sat Apr 26 13:03:17 2003 # Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i eth1 -p tcp --dport 3128 -j ACCEPT # -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT # -A INPUT -i eth0 -p tcp -m multiport --dports 21,25,80 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options -A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable # -A FORWARD -s 192.168.0.0/24 -p icmp -i eth1 -j ACCEPT # -A FORWARD -d 192.168.0.0/24 -p icmp -o eth1 -j ACCEPT # -A FORWARD -s 192.168.0.0/24 -p udp -m udp --dport 53 -i eth1 -j ACCEPT # -A FORWARD -d 192.168.0.0/24 -p udp -m udp --sport 53 -o eth1 -j ACCEPT # -A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dports 25,110 -i eth1 -j ACCEPT # -A FORWARD -d 192.168.0.0/24 -p tcp -m multiport --dports 25,110 -o eth1 -j ACCEPT # -A FORWARD -p ! icmp -m state --state INVALID -j DROP # -A FORWARD -p ! icmp -m state --state INVALID -j DROP -A FORWARD -o eth0 -j DROP -A FORWARD -i eth0 -j DROP -A FORWARD -o eth+ -j DROP -A FORWARD -i eth+ -j DROP -A FORWARD -o ppp+ -j DROP -A FORWARD -i ppp+ -j DROP COMMIT

добавил, перезагрузился, все равно не заработало.
что не так?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: настройка шлюза

Сообщение Sleeping Daemon »

http_access allow local_net
http_access deny all

Вы разрешили доступ только с 127.0.0.1/8
С локальной сети 10.10.1.1 доступа нет.
Это для начала...
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: настройка шлюза

Сообщение SLEDopit »

Sleeping Daemon писал(а):
14.08.2008 08:42
http_access allow local_net
http_access deny all

Вы разрешили доступ только с 127.0.0.1/8
С локальной сети 10.10.1.1 доступа нет.
Это для начала...

добавил
acl office src 10.10.1.0/24
http_access allow office
ситуация не изменилась.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
alexandr2009
Сообщения: 1
ОС: Debian GNU/Linux 4.0

Re: настройка шлюза

Сообщение alexandr2009 »

SLEDopit писал(а):
12.08.2008 23:30
в продолжении http://linuxforum.ru/index.php?act=findpost&pid=696088 (уж очень часто мне говорили одна тема - один вопрос :) )
схема пока что такая роутер (с него идет дозвон прову ) - сервер - свитч - остальные машины.
на сервере 2 сетевые. все работает. сервер в инет ходит. машины видят друг друга и сервер.

непонятно:

1) как заставить ходить в инет остальные машины, которые за свитчем?
сделал маскарадинг

Код: Выделить всё

iptables -t nat -A POSTROUTING -s 10.10.1.0/24 -o eth1 -j MASQUERADE

кат ип_форвардинг выдает единичку.
тока машины в инет не ходят.
возможно я неверно настраиваю сеть на самих машинах. поэтому вкратце о настройках что я указал:
на сервере шлюз 192.168.1.1,
eth1 (смотрит в нет) inet addr:192.168.1.2 Mask:255.255.255.0
eth2 (смотрит в локалку) inet addr:10.10.1.1 Mask:255.0.0.0
днс 192.168.1.1

на машинах задаю
шлюз 10.10.1.1
eth1 (смотрит на сервер ) inet addr:10.10.1.Х Mask:255.0.0.0
днс 192.168.1.1 (он вообще тут нужен?)

2) необходимо ставить сквид и самс. их как я понимаю достаточно установить и настроить на сервере. они будут резать по заданным критериям весь проходящий через него трафик. или не так?

и вообще, я хоть правильно пытаюсь нет настраивать через iptables или нужно как то по другому? :)



Мне кажется, у Вас ошибка в маске подсети. Если она 255.0.0.0 (1байт), то следует писать:
iptables -t nat -A POSTROUTING --src 10.10.1.0/8 -o eth1 -j MASQUERADE
Спасибо сказали:
Аватара пользователя
SK_666
Сообщения: 58
ОС: open SUSE 10.3, RHEL5

Re: настройка шлюза

Сообщение SK_666 »

а с выключенным на сервере iptables работает?
Спасибо сказали:
CheGevara80
Сообщения: 85
ОС: aasp

Re: настройка шлюза

Сообщение CheGevara80 »

У меня такой вопрос, на freeBsd поднят ipfw , вот конфиг

${fwcmd} -f flush
${fwcmd} add check-state
${fwcmd} add allow ip from any to any via lo0

${fwcmd} add deny ip from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any

# Stop spoofing
# ${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif}
# ${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif}

# Stop RFC1918 nets on the outside interface
${fwcmd} add deny ip from any to 10.0.0.0/8 in via ${oif}
${fwcmd} add deny ip from any to 172.16.0.0/12 in via ${oif}
${fwcmd} add deny ip from any to 192.168.0.0/16 in via ${oif}
${fwcmd} add deny ip from any to 0.0.0.0/8 in via ${oif}
${fwcmd} add deny ip from any to 169.254.0.0/16 in via ${oif}
${fwcmd} add deny ip from any to 240.0.0.0/4 in via ${oif}

${fwcmd} add deny icmp from any to any frag
${fwcmd} add deny log icmp from any to 255.255.255.255 in via ${oif}
${fwcmd} add deny log icmp from any to 255.255.255.255 out via ${oif}
#*********************MAIN RULES********************************************************
#*******************************************************************************
*******
# NAT
${fwcmd} add divert natd ip from ${cbank0} to any out via ${oif}
${fwcmd} add divert natd ip from ${cbank1} to any out via ${oif}
${fwcmd} add divert natd ip from ${aftn} to any 80 out via ${oif}
${fwcmd} add divert natd ip from any to ${oip} in via ${oif}
#*******************************************************************************
*******
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${netin} to any 80,443 via ${oif}
${fwcmd} add divert natd ip from ${inet}/${imask} to any out via ${oif}
#*******************************************************************************
*******

# Stop RFC1918 nets on the outside interface
${fwcmd} add deny ip from 10.0.0.0/8 to any out via ${oif}
${fwcmd} add deny ip from 172.16.0.0/12 to any out via ${oif}
${fwcmd} add deny ip from 192.168.0.0/16 to any out via ${oif}
${fwcmd} add deny ip from 0.0.0.0/8 to any out via ${oif}
${fwcmd} add deny ip from 169.254.0.0/16 to any out via ${oif}
${fwcmd} add deny ip from 192.0.2.0/24 to any out via ${oif}
${fwcmd} add deny ip from 224.0.0.0/4 to any out via ${oif}



# Allow TCP through if setup succeeded !!!all connect!!!nado
${fwcmd} add allow tcp from any to any established

# Allow IP fragments to pass through
${fwcmd} add pass all from any to any frag

#server in inet - GO
${fwcmd} add allow ip from ${oip} to any out xmit ${oif}

# Allow setup of incoming email
# ${fwcmd} add pass tcp from any to ${oip} 25 setup

# Allow access to our DNS
${fwcmd} add allow udp from any 53 to any via ${oif}
# for in lan!!!
# ${fwcmd} add fwd 127.0.0.1 tcp from 192.168.1.39/32 to any via ${oif}
# Squid
# ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${netin} to any via ${oif}
#${fwcmd} add fwd 192.168.1.39 tcp from ${netin} to any
# PING
${fwcmd} add allow icmp from any to any icmptypes 0,8,11
# OPEN PORTS
# ${fwcmd} add allow all from any to any 3128,21,22,25,110,139,445,80 via ${iif}
${fwcmd} add allow udp from any to any via ${iif}
${fwcmd} add allow tcp from any to any via ${iif}
# ${fwcmd} add allow all from 192.168.1.39 to not 192.168.1.0/24 in via ${iif} setup
# ъбртеф ипдйфш нйнп улчйдб
${fwcmd} add deny all from ${netin} to any via ${oif}
# ${fwcmd} add allow all from 192.168.1.39 to not 192.168.1.0/24 in via ${iif} setup


#****** ALL FACKE OFF********************************************************
${fwcmd} add deny ip from any to any
#*******************************************************************************
*****
# ${fwcmd} add pass udp from any to ${oip} 53
# ${fwcmd} add pass udp from ${oip} 53 to any

# Allow access to our WWW
# ${fwcmd} add pass tcp from any to ${oip} 80 setup
# ${fwcmd} add pass tcp from any to any 80 setup

# Reject&Log all setup of incoming connections from the outside
# ${fwcmd} add deny log tcp from any to any in via ${oif} setup

# Allow setup of any other TCP connection
# ${fwcmd} add pass tcp from any to any setup


# Allow DNS queries out in the world
# ${fwcmd} add pass udp from ${oip} to any 53 keep-state

# Allow NTP queries out in the world
# ${fwcmd} add pass udp from ${oip} to any 123 keep-state

Как мне это реалезовать например в CenTose?
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: настройка шлюза

Сообщение KiWi »

iptables tutorial легко находится через google.
А переписывать правила забесплатно здесь никто в здравом уме не будет.
Спасибо сказали: