Автор Тема: ftpd под FreeBSD  (Прочитано 1884 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DasssiG

  • Начинающий
  • *
  • Сообщений: 43
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Владивосток
ftpd под FreeBSD
« : 09 августа 2014, 02:46:01 »
Под FreeBSD через inetd запущен ftpd, в hosts.allow присутствует строчка
ftpd : ALL : allow
По локалке подключаюсь без проблем, все отлично работает, а с внешки "превышен интервал ожидания". :(
В логах нашел только
gw ftpd: _secure_path: /home/username/.login_conf is word writable
Мануалы почитал, нечего похожего не нашел, подскажите в чем может быть причина отсутствия доступа.  :dont_know:
Колдуй баба, колдуй дед, пинги есть а нета нет.

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
ftpd под FreeBSD
« Ответ #1 : 09 августа 2014, 02:49:28 »
Покажите настройки сети и правила пакетного фильтра
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн DasssiG

  • Начинающий
  • *
  • Сообщений: 43
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Владивосток
ftpd под FreeBSD
« Ответ #2 : 09 августа 2014, 03:41:41 »
\#!/bin/sh

sysctl net.inet.ip.fw.enable=0

ipfw -q -f flush
ipfw -qf flush nat
ipfw -qf flush pipe
ipfw -qf flush queue
ipfw -qf flush table

ext_if="nfe0"
ext_ip_office="мой IP"
ext_srv1_tport="3389"

int_if_office="re0"
int_ip_srv1="192.168.0.220"
int_srv1_tport="3389"

int_if_client="re1"

bcast="255.255.255.255"

net_office="192.168.0.0/24"

fwadd="ipfw -q add"
fwnat="ipfw -q nat"
fwtab="ipfw -q table"

ks=keep-state

#Table definitions
#Admin table 1
$fwtab 1 add 95.167.25.86
$fwtab 1 add 109.126.11.34
$fwtab 1 add 217.74.112.19

#Office NAT table 2
Длинный список на доступ в интернет с офиса

#FTP Restriction table 3
$fwtab 3 add (собственно IP откуда нет доступа)

#nat defenition
$fwnat 1 config ip $ext_ip_office
$fwnat 10 config redirect_port tcp $int_ip_srv1:$int_srv1_tport $ext_ip_office:$ext_srv1_tport

#rule set

#You need this rule
$fwadd 5 allow tcp from 'table(1)' to me 1984 $ks


$fwadd 50 allow all from any to any via lo0
$fwadd 52 deny all from any to 127.0.0.0/8
$fwadd 54 deny all from 127.0.0.0/8 to any

$fwadd 100 check-state

#Restrictions basics
$fwadd 200 deny all from any to any frag
$fwadd 220 deny icmp from any to any in via $ext_if icmptype 5,9,13,14,15,16,17

$fwadd 65534 deny log all from any to any

#Separates traffic rules by interfaces
$fwadd 990 skipto 1000 all from any to any via $ext_if
$fwadd 991 skipto 2000 all from any to any via $int_if_office
$fwadd 992 skipto 3000 all from any to any via $int_if_client
$fwadd 993 skipto 4000 all from any to any via "ng*"
$fwadd 999 skipto 65500 all from any to any

########## 1000-1999 ext_if interface (basicly age0)
###################################################
#1000-1099 Reserved for emergancy cases
$fwadd 1003 skipto 1200 all from $net_office to any via $ext_if
$fwadd 1005 allow tcp from 'table(3)' to me 21 via $ext_if

#1100-1399 Restiction rules on ext_if
$fwadd 1100 deny ip from 192.168.0.0/16 to any via $ext_if
$fwadd 1110 deny ip from 172.16.0.0/12 to any via $ext_if
$fwadd 1120 deny ip from 10.0.0.0/8 to any via $ext_if
$fwadd 1130 deny tcp from any to me 21 via $ext_if

#1400-1499 Shape outgoing traffic

#1500-1599 NAT incoming traffic
$fwadd 1510 nat 10 tcp from any to $ext_ip_office dst-port $ext_srv1_tport in recv $ext_if
$fwadd 1520 nat 10 tcp from $int_ip_srv1 $int_srv1_tport to any xmit $ext_if

#$fwadd 1530 nat 1 ip from 192.168.0.11 to any out xmit $ext_if
$fwadd 1540 nat 1 ip from any to $ext_ip_office in recv $ext_if
$fwadd 1560 nat 1 ip from 'table(2)' to any out xmit $ext_if

#1600-1699 Shape incoming traffic

#1900-1997 Allow rules
$fwadd 1900 allow ip from any to me in recv $ext_if
$fwadd 1910 allow ip from me to any out xmit $ext_if

$fwadd 1998 deny log ip from any to any via $ext_if
$fwadd 1999 skipto 65000 ip from any to any
########## End ext_if_interface
###############################

########### 2000-2999 int_if_office interface (basicly re0)
##########################################################
#2000-2099 Reserved for emergancy cases

#2100-2399 Restiction rules on int_if_office

#2400-2499 Shape outgoing traffic

#2500-2599 NAT incoming traffic

#2600-2699 Shape incoming traffic

#2900-2997 Allow rules
$fwadd 2900 allow ip from $net_office to any recv $int_if_office
$fwadd 2910 allow ip from any to $net_office xmit $int_if_office

$fwadd 2930 allow ip from any to $bcast recv $int_if_office

$fwadd 2940 allow ip from any to me 53 recv $int_if_office $ks

$fwadd 2998 deny log ip from any to any via $int_if_office
$fwadd 2999 skipto 65000 ip from any to any
########## End int_if_client interface
######################################

########## 3000-3999 int_if_client interface (basicly re1)
#########################################################
#3000-3099 Reserved for emergancy cases

#3100-3399 Restiction rules on int_if_client

#3400-3499 Shape outgoing traffic

#NAT 3500-3599 incoming traffic

#3600-3699 Shape incoming traffic

#3900-3997 Allow rules

$fwadd 3998 deny log ip from any to any via $int_if_office
$fwadd 3999 skipto 65000 ip from any to any
########## End int_if_office interface
######################################

########## 4000-4999 int_if_client interface (basicly re1)
#########################################################
#4000-4099 Reserved for emergancy cases

#4100-4399 Restiction rules on int_if_client

#4400-4499 Shape outgoing traffic

#NAT 4500-4599 incoming traffic

#4600-4699 Shape incoming traffic

#4900-4997 Allow rules
$fwadd 4900 allow ip from any to any via "ng*"

$fwadd 4998 deny log ip from any to any
$fwadd 4999 skipto 65000 ip from any to any
########## End int_if_office interface
######################################

$fwadd 65005 deny log ip from any to any
sysctl net.inet.ip.fw.enable=1
Под настройками сети имеется в виду вывод ifconfig?
в inetd всего 2 строчки
ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l
ssh     stream  tcp     nowait  root    /usr/sbin/sshd          sshd -i -4
« Последнее редактирование: 09 августа 2014, 03:51:50 от DasssiG »
Колдуй баба, колдуй дед, пинги есть а нета нет.

Оффлайн DasssiG

  • Начинающий
  • *
  • Сообщений: 43
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Владивосток
ftpd под FreeBSD
« Ответ #3 : 09 августа 2014, 06:12:14 »
По запарке не заметил ошибки в ftpchroot, проблема решилась, спасибо :)
Колдуй баба, колдуй дед, пинги есть а нета нет.

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
ftpd под FreeBSD
« Ответ #4 : 09 августа 2014, 06:17:39 »
DasssiG, замечательно, ставьте "Тема решена".
Ок, уже вижу поставили.
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.