Страница 1 из 1

Настройка резервного канала

Добавлено: 2012-09-26 8:47:52
tomD
Помогите, плиз, с настройкой резервного канала.

1. Мне нужно поднять nat на втором внешнем интерфейсе - вот здесь затык. Читаю форумы и вижу только, что советуют запускать два процесса natd.

В rc.conf у меня

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

natd_enable="YES"
natd_interface="bge1"
natd_flags="-f /etc/natd.conf"
firewall_enable="YES"           
firewall_script="/etc/rc.firewall" 
firewall_type="simple"            
firewall_quiet="NO"             
firewall_logging="YES"           
firewall_flags=""               
В /etc/rc.firewall есть следующее, что касается nat

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

case ${firewall_type} in
[Oo][Pp][Ee][Nn]|[Cc][Ll][Ii][Ee][Nn][Tt])
	case ${natd_enable} in
	[Yy][Ee][Ss])
		if [ -n "${natd_interface}" ]; then
			${fwcmd} add 50 divert natd all from any to any via ${natd_interface}
		fi
		;;
	esac
esac

...

case ${natd_enable} in
	[Yy][Ee][Ss])
		if [ -n "${natd_interface}" ]; then
			${fwcmd} add divert natd all from any to any via ${natd_interface}
		fi
		;;
	esac
Вот, собственно, это и наталкивает на мысль, что можно каким-то образом, когда ляжет один канал, поднимать нат на другом канале переопределяя natd_interface. То есть делать это в том же скрипте, в каком и происходит автоматическое переключение гейтвея. Вот в этом и вопрос, как в скрипте переопределять natd_interface ?

Re: Настройка резервного канала

Добавлено: 2012-09-26 9:03:36
dmtr
запускать два процесса natd

чем не устраивает? вполне рабочий вариант

Re: Настройка резервного канала

Добавлено: 2012-09-26 9:21:18
tomD
dmtr писал(а):
запускать два процесса natd

чем не устраивает? вполне рабочий вариант
Тогда придется менять и правила ipfw в rc.firewall, то есть стирать те условные конструкции (но зачем они так записаны, эти конструкции, ведь неспроста?) или же к этим конструкциям дополнительно явно прописывать правила для второго внешнего интерфейса + делать изменения в файле /usr/local/etc/rc.d/natd.

Ок, если я решу запускать два процесса, то мне получается лучше эти условные конструкции вообще стереть и написать вместо них

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

${fwcmd} add divert natd all from any to any via bge1
${fwcmd} add divert natd all from any to any via bge0
Так будет тогда нормально работать?

Re: Настройка резервного канала

Добавлено: 2012-09-26 9:33:41
dmtr
в этом случае второй natd вешается на другой порт. Будет что-то типа

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

${fwcmd} add divert 8669 all from any to any via bge1
${fwcmd} add divert 8668 all from any to any via bge0

Re: Настройка резервного канала

Добавлено: 2012-09-26 9:50:23
tomD
Спасибо, а как лучше поступать с правилами

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

	oif="bge1"
	onet="хх.хх.хх.хх"
	omask="хх.хх.хх.хх"
	oip="хх.хх.хх.хх"

	${fwcmd} add 00010 deny all from ${inet}:${imask} to any in via ${oif}
	${fwcmd} add 00010 deny all from ${onet}:${omask} to any in via ${iif}
....

Их просто лучше продублировать для второго внешнего интерфейса с переназванием переменных:

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

        oif0="bge0"
	onet0="хх.хх.хх.хх"
	omask0="хх.хх.хх.хх"
	oip0="хх.хх.хх.хх"
        ${fwcmd} add 00010 deny all from ${inet}:${imask} to any in via ${oif0}
	${fwcmd} add 00010 deny all from ${onet0}:${omask0} to any in via ${iif}

....

Или же как-то эти правила автоматически переопределять ?

Re: Настройка резервного канала

Добавлено: 2012-09-26 11:59:25
dmtr
я дублирую