aws平台中為ec2實例添加雙網卡


亞馬遜平台創建ec2實例時默認創建一個網卡primary網卡,主網卡是不能分離的。

 

在ec2服務控制台為ec2附加網卡。 平台資料中為正在使用的ec2添加網卡用到的操作系統是Amazon Linux AMI 。而當我們使用centos7 系統,附加網卡是可以的,但附加網卡后是需要在系統內進行添加網卡配置文件才能使用。

添加網卡配置文件時,無論你的eni(網絡接口是否是dhcp都要按照下面方式配置,不然網絡無法啟動,如果你想試試,會導無法鏈接服務器,此時你需要把附加的網卡分離,從控制台重啟系統后才能恢復網絡)。

 ssh登陸到centos的命令行界面,獲取root權限,創建 /etc/sysconfig/network-scripts/ifcfg-eth1 文件,內容如下:

#
BOOTPROTO="none"
DEVICE="eth1"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=10.0.3.94
NETMASK=255.255.255.0
TYPE="Ethernet"

ipaddr 屬性和NETMASK屬性改為你創建網絡接口 dhcp或者手動配置的ip地址信息。

至此使用 ip add查看eth1網卡信息是否正常使用,如果有問題service network  restart

完~

路由設置:

我之前的網絡設置了公有子網(可以提供服務的)和私有子網(內網通信)

10.0.2.0 /24 屬於私有子網 通過nat網關上網

10.0.3.0/24 屬於公有子網 通過internet網關上網

這兩個網關都是在aws配置的。本來這台機器只是用於內網測試,現在想把這台機器的服務端口暫時對外開放,要么就是在加一台服務器做代理,要么就是把服務器的網絡改到公有子網中。

考慮成本,就考慮到了改子網。但改子網后,之前配置的連接服務IP地址都要改。最終想到加一塊網卡。通過上面的配置是添加了一塊公有子網,並且公有子網也可以內網通信了,接下來給10.0.3.94地址綁定了一個公有IP的彈性地址。理所當然的想,這時候服務就可以出來了。但是我錯了。怎么都是通不了,這時候滿腦子fuck。

后來想想,路由改掉。因為10.0.2.0是主網卡,一台centos服務器不能有兩個網關(大家都知道的)。默認路由肯定走的是2.0網段。假設綁定的彈性IP地址生效,在回復信息的時候出口卻是nat網關,這樣肯定是不通的。所以我就想把默認路由改掉,在添加一個10.0.0.0/16路由網關為10.0.2.1(10.0.2.0子網的網關),這樣外網通過彈性IP地址可以訪問服務了,內網又可以不改變之前的通信。最終是成功了,只是這台服務器的出口網絡也變成了彈性IP地址,不再走nat網關了,但沒有影響。

改之前路由:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default        ip-10-0-2-1.ec2 255.255.0.0     UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.3.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1

命令執行:

sudo route delete default gw 10.0.2.1
sudo route add default gw 10.0.3.1
sudo route add -net 10.0.0.0/16 gw 10.0.2.1

再次查看路由:

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ip-10-0-3-1.ec2 0.0.0.0         UG    0      0        0 eth1
10.0.0.0        ip-10-0-2-1.ec2 255.255.0.0     UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.3.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1

這樣就OK了。我們可以把修改路由的命令放到/etc/rc.local 文件中。 完~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM