Статический рутинг через интерфейс
В Linux можно сделать статический рутинг через интерфейс посредством команд:
ifconfig eth0 172.16.252.178 netmask 255.255.255.255 route add 172.16.252.90 dev eth0 route add default gw 172.16.252.90 arp -s 172.16.252.90 AA:BB:CC::DD:EE:FF
Пытался сделать то же самое с NetBSD - успеха ноль. Поидее должно работать что-то типа
route -n add -interface -iface -static 172.16.252.178/32 172.16.252.178
или
route -n add -interface -iface -static 172.16.252.178/32 re0
или ещё что-то подобное. Перерыл весь инет, - ничего путёвого не нашёл. Есть подозрение что опция -interface вообще не работает. Кроме того, чёткие различия между смыслом -interface, -iface я не понял, равно как и следует ли в моём случае -static из них или нужно его явно указывать. При указании -interface поидее должно указываться re0 (мой интерфейс), но куда ыб я его не вписывал в команду - ругается. В принципе, команда типа
route -n add -interface -iface -static 172.16.252.178 172.16.252.178
работает (добавляется в таблицу), но ругается что Network is unreachable (чего не должно быть, так как принудительное указание на прямую доступность - аналог "route add 172.16.252.90 dev eth0" в Linux).
Если кто-то может написать заведомо рабочий вариант той Linux-конфигурации для NetBSD, был бы премного благодарен.
»
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 2555 просмотра
route add -interface
route add -interface 172.16.252.90 172.16.252.178
если я правильно понял вопрос
Допустим. Отключаю файерволл,
Допустим. Отключаю файерволл, убираю все gw, прописываю маску и статический маршрут:
# ifconfig re0 172.16.252.90 netmask 255.255.255.255 # ifconfig re0 re0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500 capabilities=3f80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx> enabled=0 address: <MY_MAC> media: Ethernet autoselect (100baseTX full-duplex) status: active inet 172.16.252.90 netmask 0xffffffff broadcast 172.16.252.90 inet6 .... # route add -interface 172.16.252.90 172.16.252.178 add host 172.16.252.90: gateway 172.16.252.178 # pfctl -d No ALTQ support in kernel ALTQ related functions disabled pf disabledПроверяю доступность компа по маршруту:
При этом рутинг выглядит следующим образом:
И как я понимаю, вместо строки
должна была бы быть какая-то, наподобие
ЧЯДНТ?
Может быть, в команде надо
Может быть, в команде надо поменять местами IPшники? Тоже не работает:
"Для дальнейшего продвижения
"Для дальнейшего продвижения в Вашей проблеме мне необходима более детальная дополнительная информация."
Зачем, например, на интерфейсе ставить единственный адрес с маской /32, если искомый хост находится в той же подсети (/24)?
В вышеприведённых командах
В вышеприведённых командах типа
/32 не существенно. Просто игрался с параметрами. Думал, что может это как-то влияет на восприятие адреса (ибо есть -host и -net).
На самом деле весь вопрос уже достаточно точно содержится во фразе: хочу сделать так, как под линуксом, а там это достигается командами
Не известен точный аналог лишь для команды
В NetBSD нет соответствующего функционала?