Как добавить статические маршруты (routes) в Ubuntu
Добаление маршрута в linux (static routes)
В память можно добавить маршрут используя route или через ip ro
синтаксис route
route add [-net|-host] <IP/Net> netmask gw <Gateway IP> dev <Int>X
Пример:
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.0.1 route add -net 192.168.2.0/24 gw 192.168.0.1 route add -host 192.168.3.158 gw 192.168.0.1
синтаксис ip ro
ip route add <IP/Net> via <Gateway IP>
Все параметры можно посмотреть ip route help
Пример:
ip ro add 192.168.2.0/24 via 192.168.0.1 ip ro add 192.168.3.159/32 via 192.168.0.1
примечание: в команде ip можно использовать сокращенный синтаксис ip ro … в место ip route …
Для удаления статического маршрута используйте del вместо add
Как сохранить статический маршрут
Все эти маршруты будут добавлены в память и сохранятся до перезагрузки. Если необходимо, загружать маршруты при загрузки системы, то необходимо добавить их в файл конфигурации интерфейсов (для ubuntu и debian). /etc/network/interfaces
Добавим в конец файла следующую сточку:
up ip ro add 192.168.2.0/24 via 192.168.0.1
пример файла конфигурации.
root@linux:~# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 172.16.0.69 netmask 255.255.255.0 network 172.16.0.0 broadcast 172.16.0.255 gateway 172.16.0.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 172.16.0.1 172.16.0.3 #static route up ip ro add 192.168.0.0/16 via 172.16.0.2
Как посмотреть маршруты в системе
root@linux:~# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eth0 172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.0.0 172.16.0.2 255.255.0.0 UG 0 0 0 eth0
root@linux:~# ip ro sh default via 172.16.0.1 dev eth0 172.16.0.0/24 dev eth0 proto kernel scope link src 172.16.0.69 192.168.0.0/16 via 172.16.0.2 dev eth0
Сохранить статический маршрут в CentOS (Redhat)
- Необходимо отредактировать (если нет создать) файл
/etc/sysconfig/network-scripts/route-ethX — ethX заменить на номер интерфейса (eth0, eth1 …)
добавить следующие строки:GATEWAY0=X.X.X.X NETMASK0=X.X.X.X ADDRESS0=X.X.X.X GATEWAY1= NETMASK1= ADDRESS1=
X.X.X.X — заменить на нужные значения
- Другой вариант добавить маршруты в файл /etc/sysconfig/static-routes. Если нет этого файла — необходимо создать.
Пример содержания фала:
any net 192.168.10.0 netmask 255.255.255.0 gw 192.168.10.1 eth0 any net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.1 eth0
PS: Если маршрутов много или ими нужно управлять (добавлять или удалять) то лучше для этого использовать демон статической маршрутизации
Вам помогла эта статья, не забудьте сказать «спасибо» для благодарности используется вертикальная и горизонтальная реклама на сайте.