Порты KERNEL NAT или PPPOE NAT

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

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

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-18 13:47:38

Привет.

Имею free 10.2

RC.CONF:

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

hostname="free10"
keymap="ru.koi8-r.kbd"
sshd_enable="YES"

# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"

#PPP settings
ppp_enable="YES"
ppp_mode="dedicated"
ppp_nat="YES"

#NET settings
gateway_enable="YES"
ifconfig_re0="192.168.1.1"

#IPFW settings
firewall_enable="YES"
#firewall_nat_enable="YES"
firewall_script="/etc/ipfw.conf"

#DHCP
dhcpd_enable="YES"
dhcpd_flags="-q"
dhcpd_ifaces="re0"
PPP.CONF

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

homeline:
    set log Phase tun command
    disable ipv6cp
    enable lqr
    set device PPPoE:alc0
    set authname xxxxxx
    set authkey xxxxxx
    set dial
    set login
    add default HISADDR
    set mtu 1400
    nat enable yes
    nat port tcp 192.168.1.101:21 21
    nat port tcp 192.168.1.101:20 20
    set redial 0 0
    set reconnect 1 0
IPFW.CONF

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

$cmd add 8300 allow all from any to any
$cmd add 100 allow ip from any to any via lo0
$cmd add 400 allow all from any to any via re0
$cmd nat 1 config log if alc0 reset same_ports deny_in \
redirect_port tcp 192.168.1.101:20 20 \
redirect_port tcp 192.168.1.101:21 21
$cmd add 1030 nat 1 ip from any to any via alc0
Почему то при команде "service ipfw restart" пишет:

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

net.inet.ip.fw.enable: 1 -> 0
net.inet6.ip6.fw.enable: 1 -> 0
Firewall rules loaded.
Поднят сервер ftp на 192.168.1.101 и в локалке он работает отлично..
надо чтоб с внешнего айпишника (реальный постоянный по pppoe) цеплялись на фтп. На коробочке-роутере все работало как надо.
Почему не работает встроенный pppoe nat?
Хрен с ним с ipfw, но pppoe то должен тащить...

Может беда в том, что я нигде не указывал про tun0? DHCP и Интернет работают отлично.
Последний раз редактировалось f_andrey 2015-09-18 14:42:49, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания 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/

Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-23 19:13:40

Блин пока не победил.. без ppp nat инет на шлюзе есть у клиентов нету... порты на фтп в ppp nat не пробрасываются..

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

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение guest » 2015-09-24 12:57:53

Антоха писал(а):Блин пока не победил.. без ppp nat инет на шлюзе есть у клиентов нету... порты на фтп в ppp nat не пробрасываются..
долго ждал, ответит кто-нибудь...

Знаете, почему нет ответов?
Потому что "каша", понять что и как у Вас куда подключено и что Вы хотите изобразить - трудно.

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

Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-24 13:36:29

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

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

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение lavr » 2015-09-24 13:53:23

Антоха писал(а):Согласен. Не понимаю.
Первый шлюз, что собираю с нуля. До этого админил уже готовые, практически не прикасаясь к ним.
начните с рисунка и потихоньку придет понимание, но только с изучением TCP/IP и маршрутизации.

Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-24 18:38:27

Привет.
Вот картинка сети:
Изображение

ppp nat вырубил

kernel nat работает - раздает инет

теперь просто не могу пробросить порт на фтпшник.. но тут я просто пока еще мало повозился...:)
блин в хендбуке на русском про ipfw в 26.6 вообще только про natd написано..

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

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение guest » 2015-09-24 20:36:31

Антоха писал(а):Привет.
Вот картинка сети:
Изображение

ppp nat вырубил

kernel nat работает - раздает инет

теперь просто не могу пробросить порт на фтпшник.. но тут я просто пока еще мало повозился...:)
блин в хендбуке на русском про ipfw в 26.6 вообще только про natd написано..
посмотрите:

http://forum.lissyara.su/viewtopic.php?t=22893

Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-25 12:18:48

Привет. Перепробовал по ссылке.. ни фига:(

IPFW config

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

#!/bin/sh -

fwcmd="/sbin/ipfw"
${fwcmd} -f flush
${fwcmd} -f queue flush
${fwcmd} -f pipe flush
${fwcmd} table all flush
${fwcmd} nat 1 delete

#VAR
if_lan="re0" #раздает локальную сеть юзерам
if_inet="tun0"

#Local
${fwcmd} add allow all from any to any via lo0

#NAT
${fwcmd} add nat 1 ip from "table(0)" to any out via ${if_inet}
${fwcmd} add nat 1 ip from any to any in via ${if_inet}
${fwcmd} add nat 1 ip from any to any out via ${if_inet}

#any
${fwcmd} add allow ip from any to any

#table 0
${fwcmd} table 0 add 192.168.1.0/24

ipfw add allow in
ipfw add allow out
${fwcmd} nat 1 config log if ${if_inet} reset same_ports \
redirect_port tcp 192.168.1.101:20 20 \
redirect_port tcp 192.168.1.101:21 21
${fwcmd} add 1030 nat 1 ip from any to any via ${if_inet}
Не работает:( инет у юзеров локалки есть, но фтп через внешний айпи не пашет:(

Блин подскажите куда смотреть? уже кучу всего перепробовал... хочется именно IPFW kernel NAT.

Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-25 13:45:10

ЗАРАБОТАЛО!!!:))))
Все что я сделал это убрал обратные слэши и в одну строку прописал редиректы!
Ништякос:) Всем спасибо и привет!

Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-25 14:54:04

Хм.. попробовал вернуть слеши.. все вроде тоже работает..

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

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

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение snorlov » 2015-09-25 15:24:10

Так оно и должно быть, они же уходящие для внешнего интерфейса, а не входящие

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

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение guest » 2015-09-25 15:35:12

Антоха писал(а):ЗАРАБОТАЛО!!!:))))
Все что я сделал это убрал обратные слэши и в одну строку прописал редиректы!
Ништякос:) Всем спасибо и привет!
после патча, убрали ограничения на длину строки, но не забывайте что если используете
как shell скрипт, возможны ограничения shell'а на длину строки.

синтаксис должен быть такой:
[табуляции, пробелы]$cmd nat 1 config log if alc0 reset same_ports deny_in[одна табуляция или пробел]\[\n]
[табуляции, пробелы]redirect_port tcp 192.168.1.101:20 20[одна табуляция или пробел]\[\n]
[табуляции, пробелы]redirect_port tcp 192.168.1.101:21 21

[в кавычках разрешенные символы][текст][один пробел или табуляция]\

смысл -> чтобы оформить одну длинную строку, мы завершаем ее символом слеш "\"
перед слешем должен быть один пробел (код 20) или табуляция (код 09), сразу за слешем "конец строки" - или
правильно сказать символ новой строки "\n" (код 0a)

пример:

\t\t\t\t aaaaaaaa \
\t\t\t bbbb \
\t\t\t cccc \
\t\t\t\t ddd

Верхние 4'е строчки == одна длинная строка "aaaaaaaa bbbb cccc ddd"
Смысл понятен?

Боюсь у Вас после слеша были пробелы "\ ", да и следующие строки лучше с табуляции начинать.

Если остался старый вариант файла, было бы интересно посмотреть

ps. Имейте ввиду, что проброс управляющего порта ftp -> 21/tcp и порта данных ftp - 20/tcp,
справедливо для ftp сервера работающего в активном режиме, для этого обычно подгружают
модуль alias_ftp.ko:

# ls -la /boot/kernel/alias_ftp.ko
# kldload alias_ftp.ko
или через /boot/loader.conf или через /etc/libalias.conf -> man libalias

Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-25 15:56:10

Привет, уважаемы Гость!

Благодарю за внимание.
Есть подозрение, что при копипасте с Интернетов некорректны были символы пробелов и табуляции. Прописал все ручками - заработало.
Пример того как было - в моем сообщении http://forum.lissyara.su/viewtopic.php?p=374447#p374447

kldload alias_ftp.ko через /boot/loader.conf подгружен

Вообще есть подозрения, что все работало и при прочих вариантах, что я пробовал ранее, просто проверял доступность ФТП с внешнего айпи с компьютера, подключенного в ту же локальную сеть, что и ФТП. Из других сетей фтп работает. Из моей - по внешнему айпи по прежнему не работает. В общем то это некритично...

Я все еще не понимаю до конца ни "физики" соединения, ни теории, как было сказано выше...

Не по теме - подскажите, сначала конфигурировать squid, а потом ipfw? Или ipfw, а под него squid?

Спасибо. :)

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

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение guest » 2015-09-25 16:15:08

Антоха писал(а):Привет, уважаемы Гость!

Благодарю за внимание.
Есть подозрение, что при копипасте с Интернетов некорректны были символы пробелов и табуляции. Прописал все ручками - заработало.
Пример того как было - в моем сообщении http://forum.lissyara.su/viewtopic.php?p=374447#p374447

kldload alias_ftp.ko через /boot/loader.conf подгружен

Вообще есть подозрения, что все работало и при прочих вариантах, что я пробовал ранее, просто проверял доступность ФТП с внешнего айпи с компьютера, подключенного в ту же локальную сеть, что и ФТП. Из других сетей фтп работает. Из моей - по внешнему айпи по прежнему не работает. В общем то это некритично...
Возможно, проблема в использовании редактора... Осваивайте "vi" (vim), без него в Unix'ах печально.
А зачем с локального на внешний?
Я все еще не понимаю до конца ни "физики" соединения, ни теории, как было сказано выше...

Не по теме - подскажите, сначала конфигурировать squid, а потом ipfw? Или ipfw, а под него squid?

Спасибо. :)
все равно, но включайте голову:

- конфигурим squid
- запускаем squid

Работает, теперь пишем правила форварда в ipfw и проверяем работу связки.
Если squid не работает, то правило форварда в ipfw будет висеть в холостую.

ps. Squid - по большому счету, пережиток прошлого, его использовали/ют для НЕдостатистики,
чтобы байты считать с клиентов, ну и ограничивать в доступе к контенту, плюс - если
внешний канал у Вас дохлый - экономия трафика.
Основная масса провайдеров, не использует squid или держит для желающих.

Антоха
проходил мимо

Порты KERNEL NAT или PPPOE NAT

Непрочитанное сообщение Антоха » 2015-09-25 16:28:29

vi... вот именно - осваивать:) пользую ee или mc - как то привычнее..

А по сквиду - да, надо рубить сайты юзерам.. но это даже не главное - внешний канал в лучшие времена - 150 килобайт в секу. На 15-20 юзеров тяжеловато. Сквид нужен прежде всего для кэша картинок и прочего. Благо оперативки 4ГБ на шлюзе, и жесткий ssd - так что со скоростью чтения думаю проблем не будет.

С локального на внешний незачем - просто сейчас на роутере зукселя все работает именно так. С локального айпи могу зайти на фтп по внешнему айпи. Да и нафиг не надо