Инструменты пользователя

Инструменты сайта


wiki:freebsd:virtualbox-cfg

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:freebsd:virtualbox-cfg [2023/04/10 15:36] – [Использование FreeBSD в качестве шлюза с ipfw NAT] Dimanwiki:freebsd:virtualbox-cfg [2024/03/14 18:07] (текущий) Diman
Строка 8: Строка 8:
 Для этого заходим в Файл-Настройки-Сеть-Виртуальные сети хоста и создаем новую сеть. У меня это vboxnet0 {{:wiki:freebsd:vbox-network.png?direct|}} Для этого заходим в Файл-Настройки-Сеть-Виртуальные сети хоста и создаем новую сеть. У меня это vboxnet0 {{:wiki:freebsd:vbox-network.png?direct|}}
  
 +Нужно снять птичку с включить DHCP-сервер, выключить его.
 ==== Установка и настройка dnsmqsq ==== ==== Установка и настройка dnsmqsq ====
  
Строка 68: Строка 69:
 Начнем использовать ipfw kernel NAT, который нужно включить во FreeBSD. Действуем внимательно, так как при ошибках в конфиге можно легко потерять доступ к серверу по SSH Начнем использовать ipfw kernel NAT, который нужно включить во FreeBSD. Действуем внимательно, так как при ошибках в конфиге можно легко потерять доступ к серверу по SSH
  
 +=== Включаем Русский язык во FreeBSD ===
  
  
 +<code bash>
 +# Включаем Русский язык
 +
 +sysrc keymap="ru"
 +
 +tee -a /boot/loader.conf << END
 +
 +# RUS
 +kern.vty=vt
 +#--
 +END
 +
 +tee -a /etc/profile << END
 +
 +# RUS
 +LANG=ru_RU.UTF-8
 +export LANG
 +MM_CHARSET=UTF-8
 +export MM_CHARSET
 +export EDITOR=/usr/local/bin/nano
 +#--
 +END
 +
 +</code>
 +
 +=== Включаем ipfw + NAT + шлюз во FreeBSD ===
 +<code bash>
 +tee -a /boot/loader.conf << END
 +
 +# IPFW
 +ipfw_load="YES"
 +ipfw_nat_load="YES"
 +firewall_logif="YES"
 +#--
 +END
 +
 +# включаем FreeBSD, как шлюз - разрешаем ходить трафику между интерфейсами
 +sysrc gateway_enable="YES"
 +</code>
 +
 +=== Настраиваем ipfw ===
 +
 +<file bash /etc/ipfw.script>
 +#!/bin/sh
 +
 +cmd="/sbin/ipfw -q"
 +$cmd -f flush
 +
 +$cmd enable one_pass
 +$cmd add allow all from any to any via lo0
 +$cmd add deny all from any to 127.0.0.0/8
 +$cmd add deny all from 127.0.0.0/8 to any
 +$cmd add deny all from any to any frag
 +
 +$cmd add check-state
 +$cmd add allow tcp from any to any established
 +$cmd add allow all from any to any out keep-state
 +
 +# ssh
 +$cmd table admin create missing
 +$cmd table admin add 46.160.0.0/19
 +$cmd add allow ip from "table(admin)" to me 22
 +
 +# HTTP && HTTPS
 +$cmd add allow tcp from any to me 443 in limit src-addr 50
 +$cmd add allow tcp from any to me 80 in limit src-addr 20
 +
 +# Mail
 +$cmd add allow tcp from me to any 25 out
 +$cmd add allow tcp from any 25 to me in
 +
 +# Ping
 +$cmd add allow icmp from "table(admin)" to me in icmptype 8
 +$cmd add allow icmp from me to "table(admin)" out icmptype 0,8
 +
 +$cmd add deny log all from any to any
 +</file>
 +
 +<code bash>
 +
 +sysrc firewall_script="/etc/ipfw.script"
 +sysrc firewall_enable="yes"
 +</code>
wiki/freebsd/virtualbox-cfg.1681130194.txt.gz · Последнее изменение: 2023/04/10 15:36 — Diman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki