Centos

使用靜態 IP 配置 2 個網卡,1 個連接到 Internet,1 個專用

  • April 1, 2019

我正在使用 2 個 nic 的伺服器中配置 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正常工作。

我一直在閱讀:

但我找不到解決方案。在這裡,作者指的是 NAT 配置http://jensd.be/468/linux/two-network-cards-rp_filter#comment-15119但無論如何我不能讓兩個連接同時工作。

澄清事情:

1 NIC1 應具有本地靜態 IP,如 192.168.xx,NIC2 應具有外部靜態 IP 179.xxx

2 如果我們可以通過不同的網路訪問不同的服務,那就太好了,即。僅使用 LAN 的 SSH 和同時使用兩者的 HTTP(對 Internet 和 LAN 開放)

您不必放棄 DHCP。您可以指示啟動腳本禁用預設路由,即使從 DHCP 伺服器的回復中獲得。這允許您在 DHCP 伺服器上保持有效的活動租約並檢索 DHCP 提供的其他有用資訊,同時允許您在其他地方設置預設網關。

只需將DEFROUTE參數更改為:

DEFROUTE=no

/etc/sysconfig/network-scripts/ifcfg-em1並重新啟動網路(或只是ifdown em1; ifup em1)。

通過適配/etc/sysconfig/network-scripts/ifup-eth然後在 Redhat 找到(雖然它只提到了它在 NetworkManager 中的用法,但它可以在有和沒有它的情況下使用):

4.6。配置預設網關

在動態網路環境中,移動主機由 NetworkManager 管理,網關資訊可能是特定於介面的,最好由 DHCP 分配。在需要影響 NetworkManager 選擇用於到達網關的出口介面的特殊情況下,請在 ifcfg 文件中為那些不通向預設網關的介面使用 DEFROUTE=no 命令。

請注意,在 CentOS 上,如果NM_CONTROLLED=no未設置參數,並且安裝了 NetworkManager,這可能是您看到額外參數的情況,NetworkManager 將(通常很好地)與 sysconfig 腳本互動,並將從同一文件建構等效設置。然後建議對nmcli c reload文件進行直接更改後進行操作。

System em1一旦您確定用於介面的 id 或 uuid 命名(此處選擇由 NetworkManager命名),也可以從 NetworkManager 方面實現等效更改。

nmcli c modify id 'System em1' ipv4.never-default yes

它將自動定位DEFROUTE=no/etc/sysconfig/network-scripts/ifcfg-em1. 仍然需要向下/向上循環界面。

您可能還必須考慮禁用 DHCP 的 DNS 伺服器並使用“靜態”DNS 參數覆蓋它,儘管如果您同時需要內部和外部 DNS 解析,網路腳本沒有提供好的解決方案(那麼您可能需要自定義的本地 DNS 伺服器或類似的解決方案),因此請考慮這是否有幫助:

PEERDNS=no

這個參數似乎只有在 NetworkManager 的控制下才能正常工作,在我進行的測試中,顯然它沒有任何效果,因為 DNS 是直接設置的/etc/resolv.confdhclient而不是首先由 NM“集成”。如果這確實是您的情況(沒有 NetworkManager 並且不想要它),那麼其他可用的答案可能更適合。

同樣,暴露了等效的 NetworkManager ipv4.ignore-auto-dns(以及ipv6.ignore-auto-dns匹配的)屬性。IPV6_PEERDNS=

引用自:https://unix.stackexchange.com/questions/509803