內網服務器通過單台外網服務器實現外網訪問,iptables NAT


環境:

​ servera: 外網服務器

​ serverb: 內網服務器

servera內網網關(GATEWAY)要設置為外網IP,其IP地址作為其它內網服務器的網關

servera 內網網卡配置
[root@localhost network-scripts]# cat ifcfg-team0 
TEAM_CONFIG="{ \"runner\": { \"name\": \"activebackup\" } }"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=6d3ea3f4-4302-458b-9284-b2ea83f6285b
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=192.168.109.110 # 內網網卡IP,作為其它內網服務器網關
PREFIX=24
GATEWAY=10.10.133.147 # 外網網卡IP,如果還需要配置其它內網網卡,網關都要設置為此IP
DNS1=114.114.114.114

servera 外網網卡配置
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens160
UUID=b58dbc36-1daa-43e9-9425-6b4d702cc41d
DEVICE=ens160
ONBOOT=yes
IPADDR=10.10.133.147  # 外網網卡IP
PREFIX=24
GATEWAY=10.10.133.1 # 外網網關
DNS1=114.114.114.114

serverb 網關(GATEWAY)為servera內網IP地址,配置網卡后需重啟網卡生效

serverb 內網網卡配置
[root@192-168-109-115 network-scripts]# cat ifcfg-team0 
TEAM_CONFIG="{ \"runner\": { \"name\": \"activebackup\" } }"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=3af1f9c7-ad26-4680-8245-29dee0ddcda0
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=192.168.109.115 
PREFIX=24
GATEWAY=192.168.109.110 # 服務器servera內網IP地址
DNS1=114.114.114.114

配置ipv4轉發

修改servera配置文件/etc/sysctl.conf ,修改參數為1

net.ipv4.ip_forward = 1

配置生效: sysctl -p

配置servera使得serverb及其他內網服務器能訪問外網

配置servera的iptables規則
[root@localhost network-scripts]# iptables -t nat -A POSTROUTING -s 192.168.109.0/255.255.255.0 -j SNAT --to-source 10.10.133.147
192.168.109.0/255.255.255.0 : 指整個網段都生效,也可單獨指定serverb
以上配置后,通過IP能訪問外網,使用域名則不行,即使配置了DNS解析服務器,還需要在servera執行
[root@localhost network-scripts]# iptables -I FORWARD 1 -s 192.168.109.0/24 -j ACCEPT
# 允許所有源地址在192.168.109.0/24的IP經過本機
保存規則,使得下次開機啟動也生效
[root@localhost network-scripts]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
# 如果有提示:Unit iptables.service could not be found. 則需安裝iptables-services


免責聲明!

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



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