Как узнать, какой интерфейс является моим публичным интерфейсом?

Я настраиваю приложение, и он требует, чтобы я вручную вводил открытый интерфейс. При запуске sudo route он дает следующий результат:

 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.55.168.1 0.0.0.0 UG 0 0 0 eth0 10.55.168.0 * 255.255.254.0 U 0 0 0 eth0 192.168.123.0 * 255.255.255.0 U 0 0 0 eth1 

Я вижу, что есть два интерфейса, но я все еще не уверен, какой из них будет публичным интерфейсом?

  • Восстановить / etc / hosts на SuSE
  • Подключите две виртуальные машины VirtualBox через SSH
  • Какая разница между -pool & -updates на SLES11-SPx
  • Как поставить systat / sar в cron на SLES 12?
  • logrotate создать группу не работает
  • Надлежащее управление ld.so.conf и разделяемыми библиотеками
  • Как установить Ubuntu из Suse?
  • Что означает «i» и «v» на выходе zypper?
  • 2 Solutions collect form web for “Как узнать, какой интерфейс является моим публичным интерфейсом?”

    Формального определения «публичного интерфейса» нет. Наиболее вероятное определение заключается в том, что это тот, куда идут пакеты, если они выходят в Интернет. Это будет тот, у которого интерфейс имеет маршрут по умолчанию. В Linux вы можете запросить его программно из оболочки с помощью

     route -n | awk '$1 == "0.0.0.0" {print $8}' 

    Большинство вариантов Unix имеют команду route , ее командная строка и выходной синтаксис могут быть немного разными.

    Хотя маршрут по умолчанию является единственным жизнеспособным кандидатом, он может или не может быть общедоступным. Многие устройства находятся за устройством NAT , поэтому у них нет открытого интерфейса. NAT передает исходящие соединения через собственный публичный интерфейс; входящие соединения достигнут устройства NAT, и они не будут перенаправляться на ваш компьютер, если NAT специально не настроен для этого.

    eth0, так как это ваш шлюз по умолчанию.

    Linux и Unix - лучшая ОС в мире.