業務需求
部署網絡防火牆,需要雙網卡,一個數據口一個管理口,數據口要隔離的只能轉發數據
創建機器
- aws 創建主機這里不多說,說一下注意的事情
1 創建的時候選倆網卡(主機不通,原因是aws主機IP都是通過dhcp獲取,兩塊網卡同網段的話網關沖突)
2 一個網卡、創建完成再增加另一塊網卡,之后手動配置靜態IP(推薦這么做)
處理問題
通過上面2方法創建完主機后發現ping主機網卡1(ip:10.101.0.24)是通的,網卡2(10.101.0.67)不通。
分析了半天,其實主要問題是路由表有問題,當兩塊網卡設置為同一個網段的時候,默認到該網段的路由,通常會被設置為后啟動的網卡。
cat /etc/sysconfig/network-scripts/ifcfg-ens5
BOOTPROTO=static
DEVICE=ens5
HWADDR=0a:83:f2:e9:c0:3f
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPADDR=10.101.0.24
NETMASK=255.255.255.0
MTU=1500
cat /etc/sysconfig/network-scripts/ifcfg-ens6
BOOTPROTO=statis
DEVICE=ens6
HWADDR=0a:b2:90:84:09:25
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPADDR=10.101.0.67
NETMASK=255.255.255.0
MTU=1500
# 先看看現在哪塊網卡可以正常工作
ping -I ens5 114.114.114.114 #通
ping -I ens6 114.114.114.114 #不通
# ens6 有問題,經過各種折騰發先是路由存在問題
# 查看當前路由,因為路由存在順序,所以這個路由是存在問題。
> ip route
default via 10.101.0.1 dev ens5
10.101.0.0/24 dev ens5 proto kernel scope link src 10.101.0.24
10.101.0.0/24 dev ens6 proto kernel scope link src 10.101.0.67
# 給ens6網卡分配單獨的路由表
# ens6
ip route add 10.101.0.0/24 dev ens6 proto kernel scope link src 10.101.0.67 table 6
ip route add default via 10.101.0.1 dev ens6 table 6
ip rule add from 10.101.0.67 table 6
之后ping倆IP就都通咯~
問:為啥不給ens5設置單獨的路由表 答:看ip route default是啥?
[root@ip-10-101-0-24 ~]# ip route show tab 6
default via 10.101.0.1 dev ens6
10.101.0.0/24 dev ens6 proto kernel scope link src 10.101.0.67
[root@ip-10-101-0-24 ~]# ip route
default via 10.101.0.1 dev ens5
10.101.0.0/24 dev ens5 proto kernel scope link src 10.101.0.24
10.101.0.0/24 dev ens6 proto kernel scope link src 10.101.0.67