Назад | Перейти на главную страницу

FreeBSD jail с IPFW с обратной связью - невозможно подключить интерфейс обратной петли

Я пытаюсь настроить тюрьму с одним IP-адресом и интерфейсом обратной связи, но я не уверен, как настроить правила IPFW, чтобы разрешить передачу трафика между тюрьмой и сетевой картой на сервере.

Я следил http://blog.burghardt.pl/2009/01/multiple-freebsd-jails-sharing-one-ip-address/ и https://forums.freebsd.org/viewtopic.php?&t=30063

но безуспешно, вот что у меня в ipfw.rules

# vim /usr/local/etc/ipfw.rules

ext_if="igb0"
jail_if="lo666"
IP_PUB="192.168.0.2"
IP_JAIL_WWW="10.6.6.6"
NET_JAIL="10.6.6.0/24"

IPF="ipfw -q add"
ipfw -q -f flush
#loopback
$IPF 10 allow all from any to any via lo0
$IPF 20 deny all from any to 127.0.0.0/8
$IPF 30 deny all from 127.0.0.0/8 to any
$IPF 40 deny tcp from any to any frag
# statefull
$IPF 50 check-state
$IPF 60 allow tcp from any to any established
$IPF 70 allow all from any to any out keep-state
$IPF 80 allow icmp from any to any
# open port ftp (20,21), ssh (22), mail (25)
# ssh (22), , dns (53) etc
$IPF 120 allow tcp from any to any 21 out
$IPF 130 allow tcp from any to any 22 in
$IPF 140 allow tcp from any to any 22 out
$IPF 150 allow tcp from any to any 25 in
$IPF 160 allow tcp from any to any 25 out
$IPF 170 allow udp from any to any 53 in
$IPF 175 allow tcp from any to any 53 in
$IPF 180 allow udp from any to any 53 out
$IPF 185 allow tcp from any to any 53 out

# HTTP
$IPF 300 skipto 63000 tcp from any to me http,https setup keep-state
$IPF 300 skipto 63000 tcp from any to me http,https setup keep-state
# deny and log everything
$IPF 500 deny log all from any to any
# NAT
$IPF 63000 divert natd ip from any to any via $jail_if out
$IPF 63000 divert natd ip from any to any via $jail_if in

но когда я создаю тюрьму как:

# ezjail-admin create -f continental -c zfs node 10.6.6.7
/usr/jails/node/.
/usr/jails/node/./etc
/usr/jails/node/./etc/resolv.conf
/usr/jails/node/./etc/ezjail.flavour.continental
/usr/jails/node/./etc/rc.d
/usr/jails/node/./etc/rc.conf
4 blocks
find: /usr/jails/node/pkg/: No such file or directory
Warning: IP 10.6.6.7 not configured on a local interface.
Warning: Some services already seem to be listening on all IP, (including 10.6.6.7)
  This may cause some confusion, here they are:
root     syslogd    1203  6  udp6   *:514                 *:*
root     syslogd    1203  7  udp4   *:514                 *:*

Я получаю это предупреждение, а затем, когда захожу в тюрьму, я не могу установить какие-либо порты.

любой совет очень ценится.

Руководства, которые вы связали с обоими, в своих примерах используют брандмауэр pf вместо ipfw, поэтому было бы легче устранить неполадки, если бы вы также использовали pf. Я лично знаком только с настройкой pf, но могу предложить несколько вещей, которые вы можете попробовать.

  1. Убедитесь, что внешний интерфейс и интерфейс обратной связи, которые вы используете, действительно активны, используя ifconfig команда.
  2. В твоем /etc/rc.conf убедитесь, что существуют следующие строки:

cloned_interfaces = "lo666"

ifconfig_lo666_alias0 = "inet 10.6.6.6 маска сети 255.255.255.255"

gateway_enable = "ДА"

Если вы решите использовать pf вместо ipfw, я могу попытаться вам помочь.