<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cless.pro/index.php?action=history&amp;feed=atom&amp;title=FreeBSD._%D0%9C%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80</id>
	<title>FreeBSD. Маршрутизатор - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cless.pro/index.php?action=history&amp;feed=atom&amp;title=FreeBSD._%D0%9C%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80"/>
	<link rel="alternate" type="text/html" href="https://wiki.cless.pro/index.php?title=FreeBSD._%D0%9C%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80&amp;action=history"/>
	<updated>2026-10-22T22:46:30Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>https://wiki.cless.pro/index.php?title=FreeBSD._%D0%9C%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80&amp;diff=1580&amp;oldid=prev</id>
		<title>Cless: Новая страница: «= Конфигурирование ядра =  === Вариант1. Установка исходников ядра с CD через sysinstall ===  * Запус...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.cless.pro/index.php?title=FreeBSD._%D0%9C%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80&amp;diff=1580&amp;oldid=prev"/>
		<updated>2023-06-27T14:57:30Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Конфигурирование ядра =  === Вариант1. Установка исходников ядра с CD через sysinstall ===  * Запус...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Конфигурирование ядра =&lt;br /&gt;
&lt;br /&gt;
=== Вариант1. Установка исходников ядра с CD через sysinstall ===&lt;br /&gt;
&lt;br /&gt;
* Запускаем sysinstall&lt;br /&gt;
* Configure - Distributions - src&lt;br /&gt;
* Выбираем base и sys&lt;br /&gt;
&lt;br /&gt;
=== Вариант 2. Установка исходников ядра с CD через консоль ===&lt;br /&gt;
&amp;lt;code&amp;gt;mount /cdrom&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir -p /usr/src/sys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /usr/src/sys /sys&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat /cdrom/src/ssys.[a-d]* | tar -xzvf -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat /cdrom/src/sbase.[a-d]* | tar -xzvf -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Копируем файл конфигурации ядра &amp;quot;/usr/src/sys/i386/conf/GENERIC&amp;quot;, а затем создаем символическую ссылку на этот файл в каталоге i386&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd /usr/src/sys/i386/conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /root/kernels&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp GENERIC /root/kernels/MYKERNEL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /root/kernels/MYKERNEL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Редактируем файл конфигурации ядра&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano /usr/src/sys/i386/MYKERNEL&amp;lt;/code&amp;gt;&lt;br /&gt;
 options IPFIREWALL &lt;br /&gt;
 options IPFIREWALL_VERBOSE &lt;br /&gt;
 options IPFIREWALL_VERBOSE_LIMIT=10 &lt;br /&gt;
 options IPDIVERT &lt;br /&gt;
 options IPFIREWALL_DEFAULT_TO_ACCEPT &lt;br /&gt;
 options DUMMYNET&lt;br /&gt;
Здесь IPFIREWALL означает включение программы файервола ipfw, IPFIREWALL_VERBOSE означает ведение логов ipfw, IPFIREWALL_VERBOSE_LIMIT=10 ограничичивает максимальное число записей, которые могут быть сделаны в секунду. Учитывайте то, что если вы поставите большое число для IPFIREWALL_VERBOSE_LIMIT, то ваш винчестер может засорится от быстрорастущих логов. IPDIVERT означает включение демона маскарадинга natd, IPFIREWALL_DEFAULT_TO_ACCEPT означает, что ваш файервол по дефолту будет открытым. Если вы не указываете этой опции, то при старте файервола любой доступ из сети к компьютеру будет закрыт. &lt;br /&gt;
&lt;br /&gt;
Советую включить опцию IPFIREWALL_DEFAULT_TO_ACCEPT, потому что как только вы разберетесь с правилами у ipfw, то сможете закрыть все, что не нужно и оставить только используемые порты. DUMMYNET означает, что вы сможете контролировать скорость передачи через ваш компьютер&lt;br /&gt;
&lt;br /&gt;
Сборка&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/make.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
 MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs&lt;br /&gt;
 #Эта переменная устанавливает список модулей, которые нужно построить вместо построения всех модулей.&lt;br /&gt;
 WITHOUT_MODULES = linux acpi sound ntfs&lt;br /&gt;
 #В этой переменной перечисляются основные модули, которые необходимо исключить из процесса сборки.&lt;br /&gt;
&amp;lt;code&amp;gt;cd /usr/src&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make buildkernel KERNCONF=MYKERNEL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make installkernel KERNCONF=MYKERNEL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Новое ядро будет скопировано в каталог /boot/kernel как /boot/kernel/kernel, а старое ядро будет перемещено в /boot/kernel.old/kernel&lt;br /&gt;
&lt;br /&gt;
Скажем ядру, чтобы при старте он понимал, что этот компьютер - роутер.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano /etc/rc.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
 gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 firewall_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 firewall_quiet=&amp;quot;YES&amp;quot;&lt;br /&gt;
 firewall_type=&amp;quot;OPEN&amp;quot;&lt;br /&gt;
 natd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
Сетевая карта, которая подключена к интернету имеет название em1 и ее ip-адрес в интернете 194.67.18.8, а сетевая карта, которая подключена к локальной сети имеет название em0 и ее ip-адрес в локальной сети 10.0.0.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano /etc/natd.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
 use_sockets yes&lt;br /&gt;
 same_ports yes&lt;br /&gt;
 unregistered_only yes&lt;br /&gt;
 interface em1&lt;br /&gt;
&amp;lt;code&amp;gt;nano /usr/local/etc/rc.d/ipfw_natd.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
 #!/bin/sh &lt;br /&gt;
 natd -f /etc/natd.conf -n em1 &lt;br /&gt;
 ipfw add 500 divert natd all from any to any via em1 &lt;br /&gt;
Это означает, что мы включаем маскарадинг с помощью natd через ipfw, разрешаем всем соединяться с сервером, как если бы он был без файрвола и разрешаем всем из локальной сети ходить в интернет.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod +x /usr/local/etc/rc.d/ipfw_natd.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ниже приведен пример, показывающий как можно выделить себе и начальнику по отдельному каналу, а всем остальным дать только 64К. em1 - это сетевая карточка, подключенная к интернету.&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 ipfw -f flush&lt;br /&gt;
 &lt;br /&gt;
 natd -f /etc/natd.conf -n em1&lt;br /&gt;
 &lt;br /&gt;
 ipfw add 500 divert natd all from any to any via em1&lt;br /&gt;
 &lt;br /&gt;
 ipfw add 1001 pipe 1 ip from 192.168.111.33 to any out via em1&lt;br /&gt;
 ipfw add 1002 pipe 2 ip from any to 192.168.111.33 in via em1&lt;br /&gt;
 &lt;br /&gt;
 ipfw pipe 1 config bw 16Kbytes&lt;br /&gt;
 ipfw pipe 2 config bw 16Kbytes&lt;br /&gt;
 &lt;br /&gt;
 ipfw add 1003 pipe 3 ip from 192.168.111.34 to any out via em1&lt;br /&gt;
 ipfw add 1004 pipe 4 ip from any to 192.168.111.34 in via em1&lt;br /&gt;
 &lt;br /&gt;
 ipfw pipe 3 config bw 32Kbytes&lt;br /&gt;
 ipfw pipe 4 config bw 32Kbytes&lt;br /&gt;
 &lt;br /&gt;
 ipfw add 1005 pipe 5 ip from 192.168.111.0/24 to any out via em1&lt;br /&gt;
 ipfw add 1006 pipe 6 ip from any to 192.168.111.0/24 in via em1&lt;br /&gt;
 &lt;br /&gt;
 ipfw pipe 5 config bw 64Kbytes&lt;br /&gt;
 ipfw pipe 6 config bw 64Kbytes&lt;br /&gt;
[[Категория:FreeBSD]]&lt;br /&gt;
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__&lt;/div&gt;</summary>
		<author><name>Cless</name></author>
	</entry>
</feed>