FreeBSD 10 jail странно работатет сеть

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

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

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alucard
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-05-08 21:34:14
Контактная информация:

FreeBSD 10 jail странно работатет сеть

Непрочитанное сообщение Alucard » 2015-10-21 0:02:57

Есть сервер (шлюз) на котором в jail установлен webserver (apache24)

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

uname -a
FreeBSD 10.2-RELEASE FreeBSD 10.2-RELEASE #0

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

jls
   JID  IP Address      Hostname                      Path
     6  192.168.10.44   webserver                       /data/jails/webserver
В jail`e странно работает сеть, пинги есть как в интернет так и во внутреннюю сеть

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

ping -c 2 google.com
PING google.com (212.1.249.117): 56 data bytes
64 bytes from 212.1.249.117: icmp_seq=0 ttl=61 time=7.809 ms
64 bytes from 212.1.249.117: icmp_seq=1 ttl=61 time=7.728 ms

--- google.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 7.728/7.768/7.809/0.041 ms
но при попытке что-либо скачать в jail`e:

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

pkg install npm
Updating FreeBSD repository catalogue...
pkg: http://pkg.FreeBSD.org/FreeBSD:10:amd64/quarterly/meta.txz: Protocol not supported
repository FreeBSD has no meta file, using default settings
^C
с внутренеей сети доступны сайты из этого jail`a, c внешеней нет - ошибка Unable to connect to remote host.
в момент подключения статистика соединений из pf (хост-система)

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

pfctl -sa |grep 192.168.10.44
rdr on fxp0 inet proto tcp from any to (fxp0) port = http -> 192.168.10.44 port 80
rdr on fxp0 inet proto udp from any to (fxp0) port = http -> 192.168.10.44 port 80
all tcp 192.168.10.44:80 (<external_server_ip>:80) <- 162.247.72.201:36170       CLOSED:SYN_SENT
all ospf 192.168.10.44 -> 224.0.0.5       SINGLE:NO_TRAFFIC
потом в браузере ошибка таймаута..
Последний раз редактировалось f_andrey 2015-10-21 9:31:44, всего редактировалось 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/

Аватара пользователя
Alucard
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-05-08 21:34:14
Контактная информация:

FreeBSD 10 jail странно работатет сеть

Непрочитанное сообщение Alucard » 2015-10-21 14:29:33

создал сегодня eще один тестовый jail но интернета там так и нет..)

HOST

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

ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
	ether 00:30:48:5f:61:a7
	inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255 
	inet 192.168.10.2 netmask 0xffffffff broadcast 192.168.10.2 
	inet 192.168.10.44 netmask 0xffffffff broadcast 192.168.10.44 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
rc.conf

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

jail_interface="em0"
jail_devfs_enable="YES"
jail_procfs_enable="YES"
jail_parameters="allow.sysvipc=1 allow.raw_sockets=1"
jail_list="testjail"

jail_testjail_rootdir="/data/jails/testjail"     # jail's root directory
jail_testjail_hostname="testjail"  # jail's hostname
jail_testjail_ip="em0|192.168.10.2"           # jail's IP address
jail_testjail_devfs_enable="YES"
jls

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

   JID  IP Address      Hostname                      Path
     5  192.168.10.2    testjail                   /data/jails/testjail
  

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

jls -h
devfs_ruleset dying enforce_statfs host ip4 ip6 jid name osreldate osrelease parent path persist securelevel allow.chflags allow.mount allow.mount.devfs allow.mount.fdescfs allow.mount.nullfs allow.mount.procfs allow.mount.tmpfs allow.mount.zfs allow.quotas allow.raw_sockets allow.set_hostname allow.socket_af allow.sysvipc children.cur children.max cpuset.id host.domainname host.hostid host.hostname host.hostuuid ip4.addr ip4.saddrsel ip6.addr ip6.saddrsel
0 false 2 new new disable 5 testjail 1002000 10.2-RELEASE 0 /data/jails/testjail false -1 false false false false false false false false false true true false true 0 0 3 "" 0 testjail 00000000-0000-0000-0000-000000000000 192.168.10.2 true - true
pf

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

pfctl -s nat
nat-anchor "ftp-proxy/*" all
nat on fxp0 inet from 192.168.10.0/24 to any -> (fxp0) round-robin
nat on fxp0 inet from 192.168.10.2 to any -> (fxp0) round-robin
nat on fxp0 inet from 192.168.10.44 to any -> (fxp0) round-robin
nat on fxp0 inet from 192.168.69.0/24 to any -> (fxp0) round-robin
rdr-anchor "ftp-proxy/*" all
rdr on fxp0 inet proto tcp from any to (fxp0) port = 80 -> 192.168.10.44 port 80
JAIL
netstat -rn

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

Routing tables

Internet:
Destination        Gateway            Flags      Netif Expire
192.168.10.2       link#4             UHS         lo0
ping

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

ping -c 2 google.com
PING google.com (212.1.249.83): 56 data bytes
64 bytes from 212.1.249.83: icmp_seq=0 ttl=61 time=7.328 ms
64 bytes from 212.1.249.83: icmp_seq=1 ttl=61 time=6.871 ms

--- google.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 6.871/7.100/7.328/0.228 ms

ping -c2 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
64 bytes from 192.168.10.1: icmp_seq=0 ttl=64 time=0.064 ms
64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=0.045 ms

--- 192.168.10.1 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.045/0.054/0.064/0.010 ms

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

fetch -o /dev/null ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.1/FreeBSD-10.1-RELEASE-amd64-bootonly.iso
fetch: ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.1/FreeBSD-10.1-RELEASE-amd64-bootonly.iso: Protocol not supported

ssh ***.*****.ru
ssh: connect to host ***.*****.ru port 22: Operation timed out


Аватара пользователя
Alucard
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-05-08 21:34:14
Контактная информация:

FreeBSD 10 jail странно работатет сеть

Непрочитанное сообщение Alucard » 2015-10-23 14:32:41

undefined писал(а):проблема в NAT'е

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

sysctl -a |grep ip.forward
net.inet.ip.forwarding: 1
PF

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

nat on $ext_if from $int_if:network ->($ext_if)
этот сервер шлюз, в подсети 192.168.10.0/24 NAT работает, не работает только в jail`ax..

Dirty.Eager
мл. сержант
Сообщения: 72
Зарегистрирован: 2008-10-25 3:05:59

FreeBSD 10 jail странно работатет сеть

Непрочитанное сообщение Dirty.Eager » 2015-10-23 18:48:36

Alucard писал(а):
undefined писал(а):проблема в NAT'е

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

sysctl -a |grep ip.forward
net.inet.ip.forwarding: 1
PF

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

nat on $ext_if from $int_if:network ->($ext_if)
этот сервер шлюз, в подсети 192.168.10.0/24 NAT работает, не работает только в jail`ax..
Посмотрите здесь, может быть оно?
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/170081

Аватара пользователя
Alucard
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-05-08 21:34:14
Контактная информация:

FreeBSD 10 jail странно работатет сеть

Непрочитанное сообщение Alucard » 2015-10-23 20:29:57

Dirty.Eager, спасибо!.. помогло..)
теперь буду менять сетевуху с fxp на em еще одну..

Гость
проходил мимо

FreeBSD 10 jail странно работатет сеть

Непрочитанное сообщение Гость » 2015-10-31 16:13:56

Возможно не к месту, но проблема та же, команда ifconfig re1 -rxcsum не помогла.

Host:
rc.conf

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

hostname="home.lan"
firewall_enable="YES"
firewall_logging="YES"
firewall_nat_enable="YES"
firewall_type="/etc/firewall/firewall"
ifconfig_re0="inet 178.25.26.6 netmask 255.255.255.0"
ifconfig_re1="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_re1_alias0="inet 192.168.1.5 netmask 255.255.255.255"
gateway_enable="YES"
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="NO"
ppp_profile="SKTV_PPPoE"
local_unbound_enable="YES"
sshd_enable="YES"
squid_enable="YES"
dumpdev="NO"
jail_enable="YES"
ipfw list

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

00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00600 allow ipv6-icmp from :: to ff02::/16
00700 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
01100 check-state
01200 allow ip from me to any keep-state
01250 allow ip from any to any via re1
01400 nat 1 ip from any to any via tun0
01600 nat 2 ip from any to any via re0
02500 deny ip from any to any
65535 deny ip from any to any
sysctrl.conf

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

net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=5
net.inet.ip.forwarding=1
jail.conf

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

samba {
	host.hostname = "samba";
	path = "/data/jails/mount/samba";
	ip4.addr += "re1|192.168.1.5";
	allow.raw_sockets = 1;
	exec.clean;
	exec.system_user = "root";
	exec.jail_user = "root";
	exec.start += "/bin/sh /etc/rc";
	exec.stop = "/bin/sh /etc/rc.shutdown";
	exec.consolelog = "/var/log/jail_samba_console.log";
	mount.devfs;
	mount +=  "procfs /data/jails/mount/samba/proc procfs rw 0 0";
	allow.set_hostname = 1;
	allow.sysvipc = 1;
}
При работе в jail свободно пингуется клиенты сети 192.168.1.0/24 в том числе и сервер. Пинг на интерфейс re0 и интернет ресурсы не проходит.

jls -h

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

devfs_ruleset dying enforce_statfs host ip4 ip6 jid name parent path persist securelevel allow.chflags allow.mount allow.mount.devfs allow.mount.nullfs allow.mount.procfs allow.mount.tmpfs allow.mount.zfs allow.quotas allow.raw_sockets allow.set_hostname allow.socket_af allow.sysvipc children.cur children.max cpuset.id host.domainname host.hostid host.hostname host.hostuuid ip4.addr ip4.saddrsel ip6.addr ip6.saddrsel
0 false 2 new new disable 3 samba 0 /data/jails/mount/samba false -1 false false false false false false false false true true false true 0 0 2 "" 0 samba 00000000-0000-0000-0000-000000000000 192.168.1.5 true - true
Jail:
Вывод команды host google.com

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

google.com has address 173.194.32.161
google.com has address 173.194.32.162
google.com has address 173.194.32.167
google.com has address 173.194.32.168
google.com has address 173.194.32.174
google.com has address 173.194.32.169
google.com has address 173.194.32.166
google.com has address 173.194.32.160
google.com has address 173.194.32.164
google.com has address 173.194.32.163
google.com has address 173.194.32.165
google.com has IPv6 address 2a00:1450:4010:c03::71
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
Команда pkg

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

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/freebsd:10:x86:64/latest, please wait...
pkg: Error fetching http://pkg.FreeBSD.org/freebsd:10:x86:64/latest/Latest/pkg.txz: Protocol not supported
A pre-built version of pkg could not be found for your system.
Consider changing PACKAGESITE or installing it from ports: 'ports-mgmt/pkg'.
Уверен, что проблема в правилах ipfw и nat но не понимаю где ... направьте на путь истинный =)