|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - [решено] Динамическое подключение IPFW & NAT |
|
FreeBSD - [решено] Динамическое подключение IPFW & NAT
|
Старожил Сообщения: 437 |
Профиль | Отправить PM | Цитировать Есть желание использовать ядро GENERIC и в связи с этим возник вопрос:
Как лучше подключить фаер с натом? Для ipfw понял что так: # echo 'ipfw_load="YES"' >> /boot/loader.conf Ну и стандартные строки в rc.conf естественно... Как подключить НАТ? причем хотелось бы использовать kernel NAT вместо natd. |
|
------- Отправлено: 10:09, 08-08-2008 |
Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать Цитата:
Цитата:
|
||
Последний раз редактировалось Dm1try, 08-08-2008 в 17:14. Отправлено: 17:01, 08-08-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 437
|
Профиль | Отправить PM | Цитировать Цитата Dm1try:
Цитата Dm1try:
А это я нашел в мане по ipfw: NAT, REDIRECT AND LSNAT First redirect all the traffic to nat instance 123: ipfw add nat 123 all from any to any Then to configure nat instance 123 to alias all the outgoing traffic with ip 192.168.0.123, blocking all incoming connections, trying to keep same ports on both sides, clearing aliasing table on address change and keep- ing a log of traffic/link statistics: ipfw nat 123 config ip 192.168.0.123 log deny_in reset same_ports Or to change address of instance 123, aliasing table will be cleared (see reset option): ipfw nat 123 config ip 10.0.0.1 To see configuration of nat instance 123: ipfw nat 123 show config To show logs of all the instances in range 111-999: ipfw nat 111-999 show To see configurations of all instances: ipfw nat show config Or a redirect rule with mixed modes could looks like: ipfw nat 123 config redirect_addr 10.0.0.1 10.0.0.66 redirect_port tcp 192.168.0.1:80 500 redirect_proto udp 192.168.1.43 192.168.1.1 redirect_addr 192.168.0.10,192.168.0.11 10.0.0.100 # LSNAT redirect_port tcp 192.168.0.1:80,192.168.0.10:22 500 # LSNAT or it could be splitted in: ipfw nat 1 config redirect_addr 10.0.0.1 10.0.0.66 ipfw nat 2 config redirect_port tcp 192.168.0.1:80 500 ipfw nat 3 config redirect_proto udp 192.168.1.43 192.168.1.1 ipfw nat 4 config redirect_addr 192.168.0.10,192.168.0.11,192.168.0.12 10.0.0.100 ipfw nat 5 config redirect_port tcp 192.168.0.1:80,192.168.0.10:22,192.168.0.20:25 500 |
||
------- Отправлено: 00:26, 09-08-2008 | #3 |
Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать ТО есть, NAT работающий в kernel space.
Я знаю что в 7.x ipfw научился делать NAT без natd, но мне честно, лень, искать что нужно для этого. Очевидно одно - пересборка ядра потребуется. Попробуйте загрузить модулем pf, он и NAT умеет, и много чего еще. |
Отправлено: 09:37, 10-08-2008 | #4 |
Старожил Сообщения: 437
|
Профиль | Отправить PM | Цитировать Поднял тестовую машину, дописал в rc.conf стандартные вещи:
firewall_enable="YES" firewall_script="/etc/rules" natd_enable="YES" natd_interface="rl0" в /boot/loader.conf: ipfw_load="YES"' - все пашет без пересборки ядра. Нат работает по стандартным правилам natd... |
|
------- Отправлено: 14:23, 10-08-2008 | #5 |
Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать Очевидно Вы используете user space nat
Почему это так: root@mail# more /etc/rc.d/natd #!/bin/sh # # $FreeBSD: src/etc/rc.d/natd,v 1.5 2006/12/31 10:37:18 yar Exp $ # # PROVIDE: natd # KEYWORD: nostart nojail . /etc/rc.subr . /etc/network.subr name="natd" rcvar=`set_rcvar` command="/sbin/${name}" pidfile="/var/run/${name}.pid" start_precmd="natd_precmd" required_modules="ipdivert" natd_precmd() { if [ -n "${natd_interface}" ]; then dhcp_list="`list_net_interfaces dhcp`" for ifn in ${dhcp_list}; do case "${natd_interface}" in ${ifn}) rc_flags="$rc_flags -dynamic" ;; esac done if echo "${natd_interface}" | \ grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then rc_flags="$rc_flags -a ${natd_interface}" else rc_flags="$rc_flags -n ${natd_interface}" fi fi return 0 } load_rc_config $name run_rc_command "$1" Далее, обращаем внимание на вывод данной команды: # ls -la /boot/kernel|grep nat -r-xr-xr-x 1 root wheel 14016 Jun 30 20:28 ipfw_nat.ko -r-xr-xr-x 1 root wheel 91520 Jun 30 20:28 ipfw_nat.ko.symbols По зависимотям к данному модулю тянется: # kldstat Id Refs Address Size Name 1 4 0xffffffff80100000 8fd0f8 kernel 2 1 0xffffffffd9886000 128c ipfw_nat.ko 3 1 0xffffffffd9888000 5d93 libalias.ko ipfw2 initialized, divert enabled, nat loadable, rule-based forwarding enabled, default to accept, logging limited to 1000 packets/entry by default А все же желательно пересобрать ядро: |
Отправлено: 11:47, 11-08-2008 | #6 |
Старожил Сообщения: 437
|
Профиль | Отправить PM | Цитировать Dm1try, спасибо, все так и получается
|
------- Отправлено: 12:16, 11-08-2008 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
FreeBSD - Задача с IPFW+NAT | zlx | Общий по FreeBSD | 3 | 10-01-2010 00:25 | |
FreeBSD - [решено] IPFW+NAT+MPD | mss_sarvarbek | Общий по FreeBSD | 14 | 27-02-2009 21:11 | |
FreeBSD - IPFW через какие правила прошел пакет / debuging ipfw | lcat | Общий по FreeBSD | 2 | 03-02-2009 10:24 | |
2008 - [решено] Подключение по VPN к Windows Server 2008 расположенному за NAT | Wile | Windows Server 2008/2008 R2 | 2 | 24-12-2008 04:48 | |
squid & nat | Multya | Программное обеспечение Linux и FreeBSD | 12 | 12-04-2004 10:42 |
|