ПРИМІТКА. Якщо клієнтські пристрої (
computer B
у цьому прикладі) хочуть отримати Інтернет через шлюзовий комп'ютер, можливо, їм все-таки потрібно налаштувати роздільну здатність сервера імен. Це не пояснено тут (шлюз не обов'язково обслуговує Інтернет).
Я намагаюся зрозуміти основи маршрутизації мереж.
Тож я експериментую зі своєю локальною мережею (мені зараз не потрібен Інтернет, а лише мережа зв'язку).
Я знаю, що питання конфігурації мережі є досить складною справою, але я просто намагаюся змусити комп'ютер (скажімо, A) діяти як шлюз для іншого (скажімо, B) (обидва запускають Ubuntu Linux).
Мені потрібно лише B, щоб мати можливість дістатися до маршрутизатора, тобто доступний лише для А.
Це так:
Router for computer A --> 192.168.0.1
Computer A - eth0 --> 192.168.0.2
Computer A - eth1 --> 192.168.1.1
Computer B - eth0 --> 192.168.1.2
Комп'ютер A добре підключається до роутера .
Комп'ютер А і B підключається (пінг, SSH ... і т.д.) між ними .
Комп'ютер B не може дістатися до маршрутизатора для комп'ютера А.
Я думав, що просто додавання на комп'ютер B комп'ютера як шлюз за замовчуванням та активація переадресації IP на A змусить B мати можливість дістатися до маршрутизатора для A:
luis@ComputerB:~$ sudo route add default gw 192.168.1.1
luis@ComputerB:~$ sudo routel
target gateway source proto scope dev tbl
127.0.0.0 broadcast 127.0.0.1 kernel link lo local
127.0.0.0 8 local 127.0.0.1 kernel host lo local
127.0.0.1 local 127.0.0.1 kernel host lo local
127.255.255.255 broadcast 127.0.0.1 kernel link lo local
192.168.1.0 broadcast 192.168.1.2 kernel link eth0 local
192.168.1.2 local 192.168.1.2 kernel host eth0 local
192.168.1.255 broadcast 192.168.1.2 kernel link eth0 local
default 192.168.1.1 eth0
169.254.0.0 16 link eth0
192.168.1.0 24 192.168.1.2 kernel link eth0
А на комп’ютері A (проміжний шлюз):
root@ComputerA:~$ echo 1 > /proc/sys/net/ipv4/ip_forward
Комп'ютер B ще може пінг-комп’ютер A, але маршрутизатор для A не відповідає:
luis@ComputerB:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
^C
(Немає відповіді на отримання ping)
Це правильна процедура, щоб змусити комп'ютер під управлінням Linux діяти як шлюз для іншого комп'ютера простим способом?