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

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-21 9:40:32

Здравствуйте.
Помогите мне пожалуйста разобраться в следующей проблеме:
Описание проблемы:
У меня такая система. Интернет -> Шлюз (на FreeBSD) -> Комп
Я захотел сделать шлюз на FreeBSD. И для начала решил сделать, что бы, хотя бы, ИНЕТ проходил через шлюз в комп. На шлюзе как вы уже поняли две сетевые карты.
Вот настройки шлюза:
Я пересобрал ядро (как выяснилось зря, можно было просто модули подгрузить). В ядро я добавил следующие опции:

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

        options         IPFIREWALL                   # собственно файрволл
        options         IPFIREWALL_VERBOSE           # логгинг пакетов, если в правиле написано log
        options         IPFIREWALL_VERBOSE_LIMIT=100 # ограничение логов (повторяющихся)
        options         IPFIREWALL_DEFAULT_TO_ACCEPT # дефолтное правило - разрешающее
        options         IPDIVERT                     # необходимо для NAT
        options         IPFIREWALL_FORWARD           # перенаправление пакетов
        options         DUMMYNET                     # ограничение скорости


Далее внес изменения в файл /etc/namedb/named.conf

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

listen-on { 127.0.0.1; 192.168.0.17; };
forwarders { 127.0.0.1; 192.168.99.5; };
Внес следующие строки в /etc/rc.conf

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

gateway_enable="YES"
natd_enable="YES"
natd_interface="sis0"
ifconfig_sis0="inet 192.168.99.37 netmask 255.255.255.0" (эта сетевуха смотрит не напрямую в ИНЕТ, а через СВИТЧ, который получает ИНЕТ от "ГЛАВНОГО" шлюза. Поэтому такой IP у сетевухи sis0)
ifconfig_rl0="inet 192.168.0.17 netmask 255.255.255.0"
defaultrouter="192.168.99.4"
ntpd_enable="YES"
named_enable="YES"
firewall_enable="YES"
firewall_type="open"
И вот такие настройки в файле /etc/resolv.conf

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

nameserver 127.0.0.1
nameserver 8.8.8.8
И теперь напишу про саму проблему. Подключаю ко второй сетевухе FreeBSD комп. На компе указываю:
IP = 192.168.0.6
В качестве шлюза и DNS указываю 192.168.0.17
Комп не может выйти в ИНЕТ, но при пинге ya.ru он преобразовывает ya.ru в 213.180.204.3. Следовательно отсюда, проблема в DNS на FreeBSD.
Помогите пожалуйста разобраться

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
wien
мл. сержант
Сообщения: 148
Зарегистрирован: 2014-06-26 18:38:44
Откуда: DafaultCity
Контактная информация:

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

Непрочитанное сообщение wien » 2014-07-21 12:51:49

У вас в /etc/rc.conf не увидел строчки типа такой:

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

firewall_script="/etc/rc.firewall"
Чтобы все работало нужно настроить фаервол, выкладывайте свой скрипт сюда. Будем смотреть. А вообще лучше отказаться от natd и использовать ipfw nat, уже встроенный в фаервол, работает гораздо шустрее и создает меньше проблем(у меня были проблемы при входе на интерфейс где висел натд по протоколу фтп).

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-07-21 13:02:41

Приведите вывод

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

ipfw -a list
В named.conf убрать в строке forwarders локалхост,
Ну и последнее, может быть главное на самой фре инет есть или нет...

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-21 13:35:38

wien писал(а):А вообще лучше отказаться от natd и использовать ipfw nat, уже встроенный в фаервол, работает гораздо шустрее и создает меньше проблем
И как это сделать? Убрать строчки natd из rc.conf? И прописать firewall_script="/etc/rc.firewall"
А в rc.firewall указать нужные настройки?
wien писал(а):выкладывайте свой скрипт сюда
Я так понимаю, под скриптом подразумевается содержимое firewall.conf?

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

add 4000 divert natd ip from any to any via sis0
add 65500 allow ip from any to any
snorlov писал(а):Приведите вывод

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

00050 299 33575 divert 8668 ip4 from any to any via rl0
00100 12 1656 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65000 1044 102087 allow ip from any to any
65535 0 0 allow ip from any to any
snorlov писал(а):убрать в строке forwarders локалхост
Результат: Теперь когда на компе, загружается страничка google, в IE где показывается ход загрузки странички, пишется ip гугла. (раньше и этого не было). Но в ИНЕТ всё равно не выходит.
snorlov писал(а):на самой фре инет есть или нет...
Конечно же есть...

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-07-21 13:48:09

У вас нат применяется в виде отдельного демона и он не сконфигурирован, его конфигурационный файл /etc/natd.conf.
Честно говоря, я не люблю его, на мой взгляд проще и лучше пользоваться ядерным натом.
В вашем случае, я бы использовал бы ядро generic и все остальное подгрузил бы модулями... Ну и читайте маны, они рулез...

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-21 14:01:39

snorlov писал(а):Ну и читайте маны, они рулез...
Это и делаю.

А в данной ситуации, которая у меня сейчас на FreeBSD, как можно помочь?

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-07-21 14:12:06

Reken писал(а):
snorlov писал(а):Ну и читайте маны, они рулез...
Это и делаю.
А в данной ситуации, которая у меня сейчас на FreeBSD, как можно помочь?
man natd.conf
В случае же generic то rc.conf

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

gateway_enable="YES"
#natd_enable="YES"
#natd_interface="sis0"
ifconfig_sis0="inet 192.168.99.37 netmask 255.255.255.0" (эта сетевуха смотрит не напрямую в ИНЕТ, а через СВИТЧ, который получает ИНЕТ от "ГЛАВНОГО" шлюза. Поэтому такой IP у сетевухи sis0)
ifconfig_rl0="inet 192.168.0.17 netmask 255.255.255.0"
defaultrouter="192.168.99.4"
ntpd_enable="YES"
named_enable="YES"
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_nat_interface="sis0"
firewall_type="open"

Аватара пользователя
wien
мл. сержант
Сообщения: 148
Зарегистрирован: 2014-06-26 18:38:44
Откуда: DafaultCity
Контактная информация:

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

Непрочитанное сообщение wien » 2014-07-21 14:22:42

Приведи /etc/rc.firewall к такому виду(минимальный вариант):

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

FwCMD="/sbin/ipfw -q"   # путь к ipfw
LanOut="sis0"                 # твой внешний интерфейс

# Сбрасываем все правила:
${FwCMD} -f -q flush

# NAT
${FwCMD} nat 1 config log if ${LanOut} same_ports
${FwCMD} add nat 1 ip from any to any out via ${LanOut}
И не забудьте забэкапить текущий конфиг

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-22 10:45:26

Спасибо за советы, но пока что ничего не помогло.
Я вот думаю, может у меня что то с named?
Я пытаюсь его перезапустить, и вот что получается:

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

# /etc/rc.d/named restart
/etc/rc.conf.local: sshd_enable: not found
Stopping named.
Stopping named.
Что это может быть?

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-07-22 11:01:08

Версию ос огласите пожалуйста

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

uname -a

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-22 11:03:14

snorlov писал(а):Версию ос огласите пожалуйста

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

uname -a
9.2-RELEASE FreeBSD

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-07-22 11:29:41

Reken писал(а):Спасибо за советы, но пока что ничего не помогло.
Я вот думаю, может у меня что то с named?
Я пытаюсь его перезапустить, и вот что получается:

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

# /etc/rc.d/named restart
/etc/rc.conf.local: sshd_enable: not found
Stopping named.
Stopping named.
Что это может быть?
Не знаю, что это могло быть. Но у вас проблема не в DNS, иначе не работало бы преобразование dns-имен в ip. Проблема либо в файере либо в нат, в первом случае не пускает пакеты в нат или грохает возвращенные пакеты, во втором просто не настроен...

Аватара пользователя
wien
мл. сержант
Сообщения: 148
Зарегистрирован: 2014-06-26 18:38:44
Откуда: DafaultCity
Контактная информация:

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

Непрочитанное сообщение wien » 2014-07-22 12:22:33

Покажи

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

ipfw show

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-22 13:05:17

Я начинаю понимать в чем проблема.
Как я уже говорил выше, моя FreeBSD получает интернет, от "главного" шлюза. На котором тоже FreeBSD. Так вот, "главный" шлюз, наверное и не пропускает комп в интернет, так как, на главном шлюзе используется прокси. Что бы вся эта система заработала, попробую установить на вторую FreeBSD (не главную) прокси squid, в которой будет пересылаться всё, на основной прокси, главного шлюза.
Как то так.

Попробую перейти на встроенный в файрвол НАТ.
Всем спасибо за помощь.

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-07-22 15:27:36

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

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-23 8:10:01

Никак не могу справиться, товарищи командиры. Может кто сможет подсказать.
Уже сделал так:
Содержимое /etc/rc.conf

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

hostname="root"
keymap="ru.koi8-r.kbd"
gateway_enable="YES"
ifconfig_sis0="inet 192.168.99.37 netmask 255.255.255.0"  # Сетевуха смотрит в ГЛАВНЫЙ шлюз
ifconfig_rl0="inet 192.168.0.17 netmask 255.255.255.0"  # Сетевуха смотрит в сетку
defaultrouter="192.168.99.4"
sshd_enable="YES"
ntpd_enable="YES"
named_enable="YES"
squid_enable="YES"
firewall_enable="YES"
firewall_type="open"
firewall_script="/etc/fire.conf"
Содержимое /etc/fire.conf

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

FwCMD="/sbin/ipfw -q"   
LanOut="sis0"                

${FwCMD} -f -q flush

# NAT
${FwCMD} nat 1 config log if ${LanOut} same_ports
${FwCMD} add nat 1 ip from any to any out via ${LanOut}
Строки из /etc/namedb/named.conf

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

listen-on {127.0.0.1; 192.168.0.17;};
forwarders {127.0.0.1; 192.168.99.5;};
содержимое /etc/resolv.conf

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

nameserver 192.168.99.5
nameserver 127.0.0.1
nameserver 8.8.8.8
содержимое /usr/local/etc/squid/squid.conf

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

WELCOME TO SQUID 2.7.STABLE9

http_port 192.168.0.17:3128

acl allowed_hosts src 192.168.0.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563 
http_access allow allowed_hosts localhost SSL_ports
http_access deny all 

cache_peer 192.168.99.4:3128
cache_mem 512000 
cache_dir ufs /usr/local/squid/cache 10240 16 256 

cache_access_log  /usr/local/squid/logs/access.log 
cache_log /usr/local/squid/logs/cache.log
cache_store_log /usr/local/squid/logs/store.log 
Вывод команды uname -a

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

FreeBSD root 9.2-RELEASE FreeBSD 9.2-RELEASE #0: Thu Jul 17 16:31:32 MSK 2014
root@root:/usr/src/sys/i386/compile/GATEWAY i386
Прокси сервер squid я запустил:

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

# squid -z
Запускаем скрипт
# squid -D
На компе, который подключен к этому шлюзу (настройки которого я привел выше). Выставил настройки:
IP 192.168.0.6
ШЛЮЗ 192.168.0.17
DNS 192.168.0.17

Использовать ПРОКСИ (192.168.0.17 порт 3128)
Результат на компе:

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

Делаю ПИНГ ya.ru, комп даже не может преобразовать ya.ru в ip адрес
Ну и соответственно, не может выйти в ИНЕТ
P.S. Написал полностью всё, так как уже не знаю как бороться с этим FreeBSD. Может вы мне поможете.

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-23 8:21:41

Команда # squid -D выдает:

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

Jul 23 09:33:40 root squid[1288]: Bungled squid.conf line 11: cache_peer 192.168.99.4:3128
FATAL: Bungled squid.conf line 11: cache_peer 192.168.99.4:3128
Squid Cache (Version 2.7.STABLE9): Terminated abnormally
То есть, скрипт не запустился. А почему интересно, он ругается на прокси провайдера (я указал ГЛАВНЫЙ шлюз)

Аватара пользователя
wien
мл. сержант
Сообщения: 148
Зарегистрирован: 2014-06-26 18:38:44
Откуда: DafaultCity
Контактная информация:

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

Непрочитанное сообщение wien » 2014-07-23 12:30:40

Сделай по шаблону

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

# TAG: cache_peer
# To specify other caches in a hierarchy, use the format:
#
# cache_peer hostname type http_port icp_port
#
# For example,
#
# # proxy icp
# # hostname type port port options
# # -------------------- -------- ----- ----- -----------
# cache_peer parent.foo.net parent 3128 3130 [proxy-only]
# cache_peer sib1.foo.net sibling 3128 3130 [proxy-only]
# cache_peer sib2.foo.net sibling 3128 3130 [proxy-only] 
пруф. см. squid.conf

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-07-23 12:56:55

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

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-23 13:31:50

snorlov писал(а): squid то вам зачем
Хочу научиться пользоваться squid и настраивать его. Я хочу собрать шлюз.
wien писал(а):Сделай по шаблону
Не совсем понял. Что сделать по шаблону?

guest
проходил мимо

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

Непрочитанное сообщение guest » 2014-07-23 15:50:42

Reken писал(а):
snorlov писал(а): squid то вам зачем
Хочу научиться пользоваться squid и настраивать его. Я хочу собрать шлюз.
wien писал(а):Сделай по шаблону
Не совсем понял. Что сделать по шаблону?
скажите, у Вас присутствуют знания о сетях, их классах, масках, разбиение на подсети?
тоже самое и о маршрутизации?

Аватара пользователя
alex3
лейтенант
Сообщения: 872
Зарегистрирован: 2006-11-20 16:47:56
Откуда: Переславль
Контактная информация:

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

Непрочитанное сообщение alex3 » 2014-07-23 15:53:32

Хочу научиться пользоваться squid и настраивать его.
например тут.
Я хочу собрать шлюз.
уже собрали.
и вообще, пользуйтесь законами Мерфи:
Если ничего не помогает - прочтите, наконец, документацию
;-)
Если ipfw можно считать речью обычного человека, то pf - речь политика. За каждой ошибкой -ядерный песец.

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-23 15:54:35

guest писал(а):скажите, у Вас присутствуют знания о сетях, их классах, масках, разбиение на подсети?
тоже самое и о маршрутизации?
Знания присутствуют, но я не "ПРОФИ" этого дела.

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-07-23 17:31:19

Даже профи сначала настраивают основу и лишь затем остальное, пусть ваш шлюз заработает без сквида и лишь за тем...

Аватара пользователя
Reken
ст. прапорщик
Сообщения: 539
Зарегистрирован: 2014-06-30 11:23:24

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

Непрочитанное сообщение Reken » 2014-07-23 17:41:46

Вы бы лучше, по вопросу этой темы подсказали.