У меня 3 интерфейса: eth0
eth1
eth2
:
eth0
напрямую подключен к Интернету.eth1
и eth2
подключены к внешнему коммутатору без подключения к Интернету.Моя цель состояла в том, чтобы подключиться eth1
и eth2
через внешний коммутатор и пересылать трафик между двумя интерфейсами через коммутатор. Итак, я создал два пространства имен ns1
и ns2
и назначил eth1
и eth2
каждому соответственно.
Каждому интерфейсу назначена своя собственная сеть IPv4.eth1
имеет 10.1.0.10/24
и eth2
имеет 10.2.0.10/24
и я могу без проблем перенаправлять трафик между этими двумя интерфейсами через коммутатор.
Теперь я хочу перенаправить трафик, полученный на eth2
в Интернет, так что приложения в ns1
может подключиться к Интернету через коммутатор (обратите внимание, что только eth1
и eth2
подключены к коммутатору, и коммутатор не имеет подключения к Интернету, и единственное подключение к Интернету осуществляется через eth0
(который в настоящее время не является частью какого-либо пространства имен).
Вероятно, есть способ использовать veth
или TUN
пары интерфейсов для пересылки трафика от ns2
к eth0
, но мне интересно, есть ли более простой способ добиться этого.
Вот как выглядит моя установка:
.--------.eth1 .--------. eth2.--------.
| ns1 |------------| switch |------------| ns2 |
'--------' '--------' '--------'
.--------.eth0 .--------.
| default|------------|Internet|
'--------' '--------'