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

FreeBSD 9.1 ng_nat timeout

Добавлено: 2013-03-27 18:17:32
vasaf
Всем привет!
Подскажите кто знает: как изменяются таймауты алиасов, созданные в таблице трансляций ng_nat.
Гуглил, читал man libalias, ng_nat и т.п. - нигде ничего не нашел.
Кроме параметров вроде: sysctl net.inet.ip.alias.sctp.up_timer - но это касается протокола SCTP, а меня интересуют TCP соединения.

Конкретнее: допустим хост установил соединение с сервером в инете через шлюз с фрёй и ng_nat на борту, т.е. создается запись в таблице трансляций. Допустим в какой-то момент этот хост выключили (вынув кабель питания к примеру). Вот какое еще время будет присутствовать запись в таблице трансляций на фре? Где этот параметр изменяется?

Re: FreeBSD 9.1 ng_nat timeout

Добавлено: 2013-04-04 10:06:47
vasaf
Кто ищет. В исходниках libalias можно поправить таймауты.
alias_db.c:

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

/* Parameters used for cleanup of expired links */
/* NOTE: ALIAS_CLEANUP_INTERVAL_SECS must be less then LINK_TABLE_OUT_SIZE */
#define ALIAS_CLEANUP_INTERVAL_SECS  64
#define ALIAS_CLEANUP_MAX_SPOKES     (LINK_TABLE_OUT_SIZE/5)

/* Timeouts (in seconds) for different link types */
#define ICMP_EXPIRE_TIME             60
#define UDP_EXPIRE_TIME              60
#define PROTO_EXPIRE_TIME            60
#define FRAGMENT_ID_EXPIRE_TIME      10
#define FRAGMENT_PTR_EXPIRE_TIME     30

/* TCP link expire time for different cases */
/* When the link has been used and closed - minimal grace time to
   allow ACKs and potential re-connect in FTP (XXX - is this allowed?)  */
#ifndef TCP_EXPIRE_DEAD
#define TCP_EXPIRE_DEAD           10
#endif

/* When the link has been used and closed on one side - the other side
   is allowed to still send data */
#ifndef TCP_EXPIRE_SINGLEDEAD
#define TCP_EXPIRE_SINGLEDEAD     90
#endif

/* When the link isn't yet up */
#ifndef TCP_EXPIRE_INITIAL
#define TCP_EXPIRE_INITIAL       300
#endif

/* When the link is up */
#ifndef TCP_EXPIRE_CONNECTED
#define TCP_EXPIRE_CONNECTED   86400
#endif