linux做防火墙时如何运用iptables进行NAT地址转换
admin
2023-02-23 15:40:06
0

前言:简述地址映射

DNAT地址转换,客户机访问服务端
SNAT地址转化,服务端访问客户机

图示

linux做防火墙时如何运用iptables进行NAT地址转换
注意:配置网卡要全都配置为仅主机模式

一:防火墙配置:两个网卡,都是仅主机模式,配置静态ip

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens33
[root@localhost network-scripts]# vim ifcfg-ens36
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig
ens33: flags=4163  mtu 1500
        inet 192.168.10.1  netmask 255.255.255.0  broadcast 192.168.10.255

ens36: flags=4163  mtu 1500
        inet 12.0.0.1  netmask 255.255.255.0  broadcast 12.0.0.255

二:web服务端修改网卡,搭建web服务,测试是否与linux防火墙连通(临时关闭firewalld)

web服务端:
仅主机模式,修改网卡

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifconfig
ens33: flags=4163  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255

ping 防火墙验证是否互联互通

[root@localhost ~]# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=2.09 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=64 time=0.903 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=64 time=0.984 ms
^C
--- 192.168.10.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.903/1.325/2.090/0.543 ms
[root@localhost ~]#

搭建web服务

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 
 41 Listen 192.168.10.10:80
 42 #Listen 80
95 ServerName www.kgc.com:80
[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# netstat -natp | grep httpd
tcp        0      0 192.168.10.10:80        0.0.0.0:*               LISTEN      9437/httpd

三 :客户端配置地址,测试与linux防火墙端是否连通,测试与web服务是否连通

客户端配置ip地址:
此时可以临时把防火墙主机的防火墙给关掉,测试是否互联互通,然后再开启

C:\Users\GSY>ipconfig

Windows IP 配置

以太网适配器 Ethernet0:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::3407:c668:fbd0:9316%3
   IPv4 地址 . . . . . . . . . . . . : 12.0.0.12
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 12.0.0.1
   C:\Users\GSY>ping 12.0.0.1

正在 Ping 12.0.0.1 具有 32 字节的数据:
来自 12.0.0.1 的回复: 字节=32 时间=7ms TTL=64
来自 12.0.0.1 的回复: 字节=32 时间<1ms TTL=64
来自 12.0.0.1 的回复: 字节=32 时间<1ms TTL=64
来自 12.0.0.1 的回复: 字节=32 时间<1ms TTL=64

12.0.0.1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 7ms,平均 = 1ms
    C:\Users\GSY>ping 192.168.10.1

正在 Ping 192.168.10.1 具有 32 字节的数据:
来自 192.168.10.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.10.1 的回复: 字节=32 时间<1ms TTL=64

192.168.10.1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

C:\Users\GSY>ping 192.168.10.10

正在 Ping 192.168.10.10 具有 32 字节的数据:
请求超时。
请求超时。

192.168.10.10 的 Ping 统计信息:
    数据包: 已发送 = 2,已接收 = 0,丢失 = 2 (100% 丢失),
Control-C
^C

可以发现此时客户机无法访问服务端
linux做防火墙时如何运用iptables进行NAT地址转换

四:再次配置防火墙(重点):

4.1 清理规则

[root@localhost network-scripts]# systemctl stop firewalld.service 
[root@localhost network-scripts]# setenforce 0
[root@localhost network-scripts]# setenforce 1
[root@localhost network-scripts]# systemctl start firewalld.service 
[root@localhost network-scripts]# iptables -F
[root@localhost network-scripts]# iptables -t nat  -F
[root@localhost network-scripts]# vim /etc/sysctl.conf 
[root@localhost network-scripts]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 
[root@localhost network-scripts]# tail -2 /etc/sysctl.conf 
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.ip_forward=1
[root@localhost log]# sysctl -p
net.ipv4.ip_forward = 1

备注:httpd端也可以执行以下两条命令

[root@localhost network-scripts]# iptables -F
[root@localhost network-scripts]# iptables -t nat  -F

firewall也有日志文件

[root@localhost network-scripts]# cd /var/log
[root@localhost log]# ls
anaconda   gdm                 qemu-ga            vmware-vgauthsvc.log.0
audit      glusterfs           rhsm               vmware-vmsvc.log
boot.log   grubby_prune_debug  sa                 vmware-vmusr.log
btmp       lastlog             samba              wpa_supplicant.log
chrony     libvirt             secure             wtmp
cron       maillog             speech-dispatcher  Xorg.0.log
cups       messages            spooler            Xorg.0.log.old
dmesg      ntpstats            sssd               Xorg.9.log
dmesg.old  pluto               tallylog           yum.log
firewalld  ppp                 tuned

4.2 接下来开始做映射,思路如下

从外网访问内网,先转换,再转发

从内网访问外网时,先转发,再转换

dnat是在路由前转换地址 prerouting

snat是在路由后转换地址 postrouting

-d 要转换的目标地址名

-p 指定协议

--dport 80端口

-i ens36端口进

-j DNAT操作

--to-destination 转换后的ip地址

[root@localhost log]# iptables -t nat -I PREROUTING -d 12.0.0.1 -p tcp --dport 80 -i ens36 -j DNAT --to-destination 192.168.10.10
[root@localhost log]# iptables -t nat -I POSTROUTING -s 192.168.10.10 -o ens36 -j SNAT --to-source 12.0.0.1

五 :此时,客户端刷新网页,即可进入

linux做防火墙时如何运用iptables进行NAT地址转换

相关内容

热门资讯

伊朗最高领袖军事顾问:美国必须... 当地时间5月6日,伊朗最高领袖军事顾问穆赫辛·雷扎伊在接受采访时表示,伊朗不允许美国在不付出代价的情...
瑞士确诊、法国密接、西班牙待命... 综合法媒报道,国际探险邮轮“洪迪厄斯”号上的汉坦病毒事件,正从南美航程延伸至欧洲语境。最新进展显示,...
AMD锐龙X3D快到把游戏跑崩... 快科技5月6日消息,在Apex英雄最新Overclocked补丁中,修复了一个颇为尴尬的问题:AMD...
重磅|第十九届智慧城市大会将于... 2026年7月16日-18日,第十九届智慧城市大会将在天津社会山国际会议中心举办。本届大会由中国服务...
奥巴马暗批特朗普:不应将司法与... 美国前总统奥巴马近日在接受采访时,借列举总统权力被滥用的多个例子,含蓄批评总统特朗普,但全程未直接点...
三星宣布:在中国大陆市场停止销... 【大河财立方消息】5月6日,三星(中国)投资有限公司发布通知称,为应对急剧变化的市场环境,经慎重研究...
郑州商转公“直还”扩容!80家... 【大河财立方消息】5月6日,郑州住房公积金管理中心公告,13家银行已与郑州住房公积金管理中心签订《商...
男子花数十万买回犀牛角、熊胆,... 王绍斌至今想不通,自己是个三十多年的生意人,怎么会在老挝一下子刷出去六位数,买回来两片犀牛角、半块熊...
电动汽车充电量创历史新高!河南... 【大河财立方 记者 张克瑶】5月6日,大河财立方记者从河南省住房和城乡建设厅获悉,2026年“五一”...
为快乐买单,情绪经济如何“点燃... 【大河财立方 记者 王宁宁 文图】从强势出圈的丑萌潮玩LABUBU,到年轻人的解压新宠“网红”拼豆;...