2つのネットワークカードを持つサーバーでCentOS 7ネットワーキングを構成しています。ネットワークインタフェースは次のとおりです。
EM1それは接続する必要があります地元のDHCPネットワーク経由
IP: 192.168.0.240
Gateway: 192.168.0.2
Masq.: 255.255.255.0
。設定スクリプトは次のとおりです
/etc/sysconfig/network-scripts/ifcfg-em1
。
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="em1"
DEVICE="em1"
ONBOOT="yes"
IPV6_PRIVACY="no"
EM2に接続されなければならないインターネット固定IP保持
IP: 179.94.94.83
Gateway: 179.94.94.81
Masq.: 255.255.255.248
設定スクリプトは次のとおりです
/etc/sysconfig/network-scripts/ifcfg-em2
。
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=em2
DEVICE=em2
ONBOOT=yes
IPADDR=179.94.94.83
GATEWAY=179.94.94.81
DNS1=200.40.30.245
DNS2=200.40.220.245
PROXY_METHOD=none
BROWSER_ONLY=no
PREFIX=29
質問:
問題は、両方のネットワークカード(em1とem2)が接続されている場合はIP 192.168.0.240を使用して接続できますが、IP 179.94.94.83を使用してアクセスできず、その逆もどちらが最初に接続されているかによってアクセスできないということです。接続されている対応するIPは正常に動作します。
私は読んだ:
- https://kindlund.wordpress.com/2007/11/19/configuring-multiple-default-routes-in-linux/
- http://jensd.be/468/linux/two-network-cards-rp_filter
- https://serverfault.com/questions/779786/public-interface-not-listening-by-default-centos-7
しかし、解決策が見つかりません。ここでは、著者は NAT 構成を参照します。http://jensd.be/468/linux/two-network-cards-rp_filter#comment-15119しかし、とにかく両方の接続を同時に動作させることはできません。
状況を明確にするには:
1 NIC1には192.168.xxなどのローカル固定IPが必要で、NIC2には外部固定IP 179.xxxが必要です。
2異なるネットワークを介して異なるサービスにアクセスできることを願っています。 LANのみを使用するSSHとその両方を使用するHTTP(インターネットとLANにオープン)
答え1
DHCPを放棄する必要はありません。 DHCPサーバーからの応答を介してデフォルトパスを取得した場合でも、デフォルトパスを無効にするように起動スクリプトに指示できます。これにより、DHCP サーバーで有効なアクティブなリースを維持し、DHCP が提供するその他の有用な情報を検索し、他の場所にデフォルトゲートウェイを設定できます。
DEFROUTE
パラメータを次のように変更するだけです。
DEFROUTE=no
/etc/sysconfig/network-scripts/ifcfg-em1
ネットワークを再起動します(または単に)ifdown em1; ifup em1
。
Redhatで研究した後に/etc/sysconfig/network-scripts/ifup-eth
見つかりました(NetworkManagerでの使い方のみ言及していますが、NetworkManagerを使用しても使用しなくても機能します)。
4.6。デフォルトゲートウェイの構成
モバイルホストがNetworkManagerによって管理される動的ネットワーク環境では、ゲートウェイ情報はインタフェースごとに異なる可能性があり、好ましくはDHCPによって割り当てられる。ゲートウェイに到達するために使用するNetworkManagerの終了インターフェイスの選択に影響を与える必要がある特別な場合デフォルトゲートウェイに接続されていないインターフェイスの場合は、ifcfgファイルでDEFROUTE = noコマンドを使用します。
CentOSでNM_CONTROLLED=no
このパラメータが設定されておらず、NetworkManagerがインストールされている場合(追加のパラメータを使用している場合)、NetworkManagerは(通常はOK)sysconfigスクリプトと対話し、同じファイルに同等の設定を構築します。 。その場合は、nmcli c reload
直接ファイルを変更してからお勧めします。
インターフェイスに使用するIDまたはuuidの命名(ここでNetworkManagerが選択されているSystem em1
)を決定したら、NetworkManager側でも同様の変更を実装できます。
nmcli c modify id 'System em1' ipv4.never-default yes
ダウン/アップループインターフェイスは依然として必要DEFROUTE=no
です。/etc/sysconfig/network-scripts/ifcfg-em1
内部と外部の両方のDNS解決が必要な場合は、ネットワークスクリプトは良いソリューションを提供しませんが、DHCPのDNSサーバーを無効にして「静的」DNSパラメータで上書きすることを検討する必要があるかもしれません。これにより、カスタムローカルDNSが必要になることがあります。サーバーまたは同様の解決策)、これが役立つかどうかを検討してください。
PEERDNS=no
このパラメータはNetworkManager制御下でのみ正常に動作するように見え、私が行ったテストではDNSがNMによって最初に「統合」されずに直接/etc/resolv.conf
設定されたため、何の効果もありませんでしたdhclient
。これが実際にあなたの場合(NetworkManagerがなく、望ましくない場合)、他の利用可能な答えがより適切かもしれません。
同様に、同等のNetworkManager ipv4.ignore-auto-dns
(およびipv6.ignore-auto-dns
一致するIPV6_PEERDNS=
)属性も公開されます。
答え2
設定にはまだDHCPがあります。
スクリプト/etc/sysconfig/network-scripts/ifcfg-em1
は次のようにする必要があります。
DEVICE=em1
BOOTPROTO=static
DHCPCLASS=
IPADDR=192.168.0.240
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
NETWORK=192.168.0.0
ONBOOT=yes
あなたの/etc/sysconfig/network-scripts/ifcfg-em2
外観は次のとおりです。
DEVICE=em2
BOOTPROTO=static
DHCPCLASS=
IPADDR=179.94.94.83
NETMASK=255.255.255.248
BROADCAST=179.94.94.87
NETWORK=179.94.94.80
ONBOOT=yes
また、既存のGATEWAY行に次の行を追加するか、/etc/sysconfig/network
既存のGATEWAY行を編集します。
GATEWAY=179.94.94.81