Мой сценарий:
host1
имеет подключение к Интернету через интерфейс eth0
;host1
набрать номер host2
и устанавливает с ним PPP-соединение;host2
нет доступа в Интернет;host1
необходимо поделиться подключением к Интернету с host2
используя этот интерфейс ppp0
;Итак, я думаю, что в основном у нас есть это:
(internet) <eth0> === host1 === <ppp0> === host2
Это от host1
:
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
RX packets 7409 bytes 29789661 (28.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5933 bytes 422162 (412.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 28 bytes 2352 (2.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28 bytes 2352 (2.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.100.0.2 netmask 255.255.255.255 destination 10.100.0.1
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 5 bytes 78 (78.0 B)
RX errors 2 dropped 0 overruns 0 frame 0
TX packets 5 bytes 90 (90.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Это от host2
:
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
ppp0 Link encap:Point-to-Point Protocol
inet 10.100.0.1 P-t-P: 10.100.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:5 errors:1 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
Я пытался использовать iptables
для перенаправления трафика между интерфейсами, как предлагается Вот.
В host2
Я добавил маршрут по умолчанию для разработчика ppp0
используя gw 10.100.0.2
, который является IP-адресом host1
.
Любое предложение? Я действительно не привык к сетевым технологиям.
Думаю, самые важные замечания:
host1
тот, кто звонит host2
;host1
Однако я могу делать все, что хочу host2
имеет файловую систему только для чтения, я могу только добавлять маршруты и изменять мелочи;Эта настройка довольно сложна:
Если host1
был тот, который действовал как сервер ppp, тогда проблему можно было бы легко решить. Просто настройте демон ppp для отправки клиенту маршрута по умолчанию.
Но с тех пор host1
это тот, кто звонит host2
Я не понимаю как host1
может протолкнуть маршрут по умолчанию (и установка его вручную неприемлема), если ...
Для меня решение состоит в использовании процесса протокола маршрутизации (rip или ospf), чтобы при подключении этих процессов согласовывались соответствующие таблицы маршрутизации.
Наконец, NAT должен включать все используемые диапазоны IP-адресов для выхода в Интернет.