GNU/Linux >> Linux の 問題 >  >> Cent OS

Centos –永続的なルートを追加するための最良の方法は?

再起動後に削除されないルートを追加する必要があります。私はそれを行うこれらの2つの方法を読みました:

ip route add -net 172.X.X.0/24 gw 172.X.X.X dev ethXを追加します ファイル/etc/network/interfaces

または

ファイル/etc/network/if-up.d/routeを作成します と:

#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX

実行可能にします:

chmod +x /etc/network/if-up.d/route

だから私は混乱しています。それを行うための最良の方法は何ですか?

承認された回答:

/etc/network/interfacesについておっしゃいました 、つまり、Debianシステムです…

名前付きルーティングテーブルを作成します。例として、以下の「mgmt」という名前を使用しました。

echo '200 mgmt' >> /etc/iproute2/rt_tables

上記では、カーネルは多くのルーティングテーブルをサポートしており、0〜255の番号が付けられた一意の整数でこれらを参照しています。テーブルにはmgmtという名前も定義されています。

以下に、デフォルトの/etc/iproute2/rt_tablesを示します。 続いて、いくつかの番号が予約されていることを示しています。この200の答えの選択は任意です。まだ使用されていない任意の番号、1-252を使用できます。

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#

以下では、Debian7/8インターフェースファイルがeth0を定義しています。 およびeth1eth1 172ネットワークです。 eth0 DHCPも使用できます。 172.16.100.10 eth1に割り当てるIPアドレスです 。 172.16.100.1 はルーターのIPアドレスです。

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The production network interface
auto eth0
allow-hotplug eth0
# iface eth0 inet dhcp 
# Remove the stanzas below if using DHCP.
iface eth0 inet static
  address 10.10.10.140
  netmask 255.255.255.0
  gateway 10.10.10.1

# The management network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
  address 172.16.100.10
  netmask 255.255.255.0
  post-up ip route add 172.16.100.0/24 dev eth1 src 172.16.100.10 table mgmt
  post-up ip route add default via 172.16.100.1 dev eth1 table mgmt
  post-up ip rule add from 172.16.100.10/32 table mgmt
  post-up ip rule add to 172.16.100.10/32 table mgmt

ネットワークを再起動または再起動します。

更新–ELに関する説明

コメントで、「RHELも疑問に思っている」ことに気づきました。
Enterprise Linux(「EL」– RHEL / CentOSなど)で、上記のように名前付きルーティングテーブルを作成します。

EL /etc/sysconfig/network ファイル:

NETWORKING=yes
HOSTNAME=host.sld.tld
GATEWAY=10.10.10.1

EL /etc/sysconfig/network-scripts/ifcfg-eth0 静的設定を使用したファイル(NetworkManagerを使用せず、以下の例では「HWADDR」と「UUID」を指定しない)は次のとおりです。

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=10.10.10.140
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255

EL /etc/sysconfig/network-scripts/ifcfg-eth1 ファイル(NetworkManagerがなく、以下の例では「HWADDR」と「UUID」が指定されていない)が続きます。

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=172.16.100.10
NETMASK=255.255.255.0
NETWORK=172.16.100.0
BROADCAST=172.16.100.255

EL /etc/sysconfig/network-scripts/route-eth1 ファイル:

172.16.100.0/24 dev eth1 table mgmt
default via 172.16.100.1 dev eth1 table mgmt

EL /etc/sysconfig/network-scripts/rule-eth1 ファイル:

from 172.16.100.0/24 lookup mgmt

RHEL8のアップデート

上記のこの方法は、RHEL6とRHEL7、および派生物で機能しますが、RHEL 8と派生物の場合は、最初にnetwork-scriptsをインストールする必要があります。 上記の方法を使用します。

dnf install network-scripts

インストールすると、network-scriptsという警告が表示されます RHELの次のメジャーリリースの1つで削除され、NetworkManagerがifupを提供します / ifdown スクリプトも。

関連:bashの正規表現が変数であり、直接ではない場合にのみ機能するのはなぜですか?
Cent OS
  1. Linux –デフォルトルートの送信元アドレスを取得するためのポータブルな方法?

  2. コンピューターでUbuntuをテストする最良の方法は?

  3. ビデオファイルをDVDに書き込むための最良の方法は何ですか?

  1. CentOSでホスト名を変更する方法

  2. CentOS 8にPuttyをインストールする-最良の方法は?

  3. SELinuxを学ぶ最良の方法は何ですか?

  1. CentOS 8にNmapをインストールする-最良の方法は?

  2. CentOS 8にGoをインストールする-最良の方法は?

  3. ディレクトリ内のファイル数を数える最良の方法は何ですか?