这是我第一次在这些论坛上发帖。大多数时候,当我遇到问题时,我通常可以通过搜索论坛/谷歌来解决它们。但这个问题让我很为难!我的公司刚刚部署了一个 VMware ESXI 服务器,该服务器有一个 pfsense VM,它被设置为路由所有 LAN 和 WAN 流量,但不包括我的 Web 服务器,该服务器有自己的 WAN IP。我们的 ISP 是康卡斯特。除了这个问题之外,一切都运行正常。我在我的 pfsense VM 上安装了 OpenVPN 服务器,配置正确,一切运行良好!
我唯一的问题是,当我连接到 OpenVPN 时,我无法连接到 CentOS 7 机器中的一个,而这台机器恰好是我们的 Web 开发服务器,我们会在其中定期向客户发送开发链接。我尝试通过本地网络上的 ssh 或任何其他服务连接到 CentOS 7 机器,但无法访问该机器。我甚至无法 ping 通机器。如果我在办公室并连接到本地网络,我可以通过 LAN 毫无困难地连接到该机器上的任何服务。如果我禁用 WAN(ifcfg-ens192),OpenVPN 可以正常工作,但现在当然无法从外部访问服务器,这使得开发服务器变得毫无意义!>:[如果我使用以下命令设置默认网关:
[code]route add default gw 10.1.1.1 dev ens160[/code] 一切正常,但外界将无法访问开发服务器。我曾尝试添加 route-ens160 来帮助路由,但说实话,我不太明白发生了什么!以下是我的网络配置文件和设置。由于明显的安全问题,我稍微更改了一些 WAN IP 信息。
这是唯一一个出现此问题的盒子,因此我相信 ESXI 和 pfsense 上的所有内容都配置正确。我们目前在 ESXI 服务器上有另外三个虚拟机。我可以连接到所有其他虚拟机,包括 ESXI 服务器本身(vSphere)。
你们有人能帮助我或者给我指明正确的方向吗?
提前致谢,如能得到任何帮助我们将非常感激!
-布莱恩
网关(esxi/pfSense):
Gateway/IP: 10.1.1.1
Subnet: 255.255.255.0
WAN: 74.64.100.122
康卡斯特 IP 块:
IP(s): 74.64.100.121 - 125
Subnet: 255.255.255.248
Gateway: 74.64.100.126
ifcfg-ens160 (局域网):
DEVICE="ens160"
BOOTPROTO="static"
HWADDR="00:0C:49:A9:D1:EB"
IPADDR="10.1.1.13"
NETMASK="255.255.255.0"
#GATEWAY="10.1.1.1"
DEFROUTE="no"
DNS1="75.75.75.75"
DNS2="75.76.76.76"
ONBOOT="yes"
NM_CONTROLLED="no"
ZONE="work"
ifcfg-ens192 (广域网):
DEVICE="ens192"
BOOTPROTO="static"
HWADDR="00:0C:59:A9:D3:F5"
IPADDR="74.64.100.125"
NETMASK="255.255.255.248"
DEFROUTE="yes"
GATEWAY="74.64.100.126"
DNS1="75.75.75.75"
DNS2="75.76.76.76"
ONBOOT="yes"
NM_CONTROLLED="no"
ZONE="public"
route-ens160(路线):
ADDRESS0="10.1.1.0"
NETMASK0="255.255.255.0"
GATEWAY0="74.64.100.126"
ADDRESS1="74.64.100.0"
NETMASK1="255.255.255.248"
GATEWAY1="74.64.100.126"
在 /etc/sysconfig/网络:
NETWORKING="yes"
HOSTNAME="web"
路线-n:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 74.64.100.126 0.0.0.0 UG 0 0 0 ens192
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
74.64.100.120 0.0.0.0 255.255.255.248 U 0 0 0 ens192
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens160
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 ens192
答案1
我自己解决了这个问题,我必须创建一个新的路由表。以下是我所做的:
在 /etc/iproute2/rt_tables 中添加了新的路由表
#echo "1 rt2" >> /etc/iproute2/rt_tables
向 LAN 配置 /etc/sysconfig/network-scripts/route-ens160 添加了路由:
#echo "10.1.1.0/24 dev ens160 src 10.1.1.13 table rt2" >> /etc/sysconfig/network-scripts/route-ens160
#echo "default via 10.1.1.1 dev ens160 table rt2" >> /etc/sysconfig/network-scripts/route-ens160
向 LAN 配置 /etc/sysconfig/network-scripts/rule-ens160 添加了规则:
#echo "from 10.1.1.8/29 table rt2" >> /etc/sysconfig/network-scripts/rule-ens160
#echo "to 10.1.1.8/29 table rt2" >> /etc/sysconfig/network-scripts/rule-ens160
重启网络:
#systemctl restart network
验证新的路线和规则:
#ip route list table rt2
-----------
default via 10.1.1.1 dev ens160
10.1.1.0/24 dev ens160 scope link src 10.1.1.13
#ip rule show
-----------
0: from all lookup local
32764: from all to 10.1.1.8/29 lookup rt2
32765: from 10.1.1.8/29 lookup rt2
32766: from all lookup main
32767: from all lookup default
就是这样!我还将在下面保留我的配置文件:
rt_table(/etc/iproute2/rt_tables):
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
1 rt2
ifcfg-ens160(/etc/sysconfg/network-scripts/ifcg-ens160):
# LAN CONFIGURATION
# -----------------
DEVICE="ens160"
BOOTPROTO="static"
HWADDR="00:0C:49:A9:D1:EB"
IPADDR="10.1.1.13"
NETMASK="255.255.255.0"
#GATEWAY="10.1.1.1"
DEFROUTE="no"
DNS1="75.75.75.75"
DNS2="75.76.76.76"
ONBOOT="yes"
NM_CONTROLLED="no"
ZONE="work"
路由-ens160(/etc/sysconfg/network-scripts/route-ens160):
# LAN ROUTE CONFIGURATION
# -----------------------
10.1.1.0/24 dev ens160 src 10.1.1.13 table rt2
default via 10.1.1.1 dev ens160 table rt2
规则-ens160(/etc/sysconfg/network-scripts/rule-ens160):
# LAN RULE CONFIGURATION
# ----------------------
from 10.1.1.8/29 table rt2
to 10.1.1.8/29 table rt2
ifcfg-ens192(/etc/sysconfig/network-scripts/ifcfg-ens192):
# WAN CONFIGURATION
# -----------------
DEVICE="ens192"
BOOTPROTO="static"
HWADDR="00:0C:59:A9:D3:F5"
IPADDR="74.64.100.125"
NETMASK="255.255.255.248"
DEFROUTE="yes"
GATEWAY="74.64.100.126"
DNS1="75.75.75.75"
DNS2="75.76.76.76"
ONBOOT="yes"
NM_CONTROLLED="no"
ZONE="public"
网络(/etc/sysconfig/network)
# NETWORK CONFIGURATION
# ---------------------
NETWORKING="yes"
HOSTNAME="web"
希望有一天这能够帮助到别人!