集群内网经过登陆节点可上网方法
一、服务器A,能访问外网
网卡eth1, 配置内网IP
vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME="eth0" DEVICE="eth0" ONBOOT="yes" IPADDR=11.11.11.1 NETMASK=255.255.255.0 GATEWAY=11.11.11.1 # 作为其它内网服务器的网关 ZONE=trusted
网卡eth2配置能连外网的IP
vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME="eth1" DEVICE="eth1" ONBOOT="yes" IPADDR=192.10.84.33 # 外网IP NETMASK=255.255.255.0 GATEWAY=192.10.84.33 # 外网网关
ZONE=public
二、服务器B,只有内网IP,通过服务器A访问外网
eth1网卡连接内网
vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME="eth0" DEVICE="eth0" ONBOOT="yes" IPADDR=11.11.11.2 NETMASK=255.255.255.0 GATEWAY=11.11.11.1 # 服务器A的内网IP地址 网关(GATEWAY)为服务器A的内网IP地址。
配置网卡之后需执行service network restart生效。
三、配置ipv4转发
修改服务器A配置文件 vi /etc/sysctl.conf,修改参数为1
net.ipv4.ip_forward = 1
生效: sysctl -p
四、配置服务器A使服务器B及其他内网服务器能访问外网
iptables -t nat -A POSTROUTING -s 11.11.11.2 -j SNAT --to-source 192.10.84.33 #11.11.11.2 对ip为11.11.11.2的机器生效, 也可以设置整个网段 11.11.11.0/255.255.255.0指整个11.11.11.0网段的IP都生效
然后看一下iptables默认规则是不是默认放行,用命令iptables -nL,如果是(policy ACCEPT)那么就是默认放行,无需设置下一步,否者需要进行下一步设置 iptables -A FORWARD 1 -s 11.11.11.1/24 -j ACCEPT #允许来自内网(所有11.11.11.X地址段) 的传出连接。
五、端口转发
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 228 -j DNAT --to-destination 11.11.11.8:22 #将外网的228端口映射到11.11.11.8的22端口
六、保存iptables规则
iptables save #上面的命令即时生效,若需要下次启动也可用,保存规则。
七、删除配置
1./etc/sysctl.conf 注释掉后保存,sysctl -p #取消转发路由功能
2.iptables -t nat -nL --line-numbers #列出iptables的所有NAT规则(无FORWARD规则)
然后用iptables -t nat -D POSTROUTING +第几行 # 删除POSTROUTING规则
iptables -t nat -D PREROUTING +第几行 # 删除PREROUTING规则
3.iptables -nL --line-number #列出iptables的所有输入输出转发规则
然后用iptables -D FORWARD +第几行 # 删除FORWARD规则