大佬教程收集整理的这篇文章主要介绍了centos 7配置firewall防火墙的地址伪装和端口转发实例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一、开始基本的环境配置:
1、在网关服务器上配置网卡地址:
[[email protected] network-scripts]# ip addr #查看已配置完成的IP地址信息 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNowN 1000 link/loopBACk 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BroaDCAST,MULTICAST,LOWER_UP> mtu 1500 qdisc fq_codel state UP 1000 link/ether 00:0c:29:9a:09:98 brd ff:ff:ff:ff:ff:ff inet 100.1.1.10/24 brd 100.1.1.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::2695:e1d7:cfa2:b427/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: ens37: <BroaDCAST,LOWER_UP> mtu 1500 qdisc fq_codel state UP 1000 link/ether 00:0c:29:9a:09:a2 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global noprefixroute ens37 valid_lft forever preferred_lft forever inet6 fe80::ac5f:6d92:f29a:6852/64 scope link noprefixroute valid_lft forever preferred_lft forever 4: ens38: <BroaDCAST,LOWER_UP> mtu 1500 qdisc fq_codel state UP 1000 link/ether 00:0c:29:9a:09:ac brd ff:ff:ff:ff:ff:ff inet 192.168.2.1/24 brd 192.168.2.255 scope global noprefixroute ens38 valid_lft forever preferred_lft forever inet6 fe80::e21e:7093:d418:a0a3/64 scope link noprefixroute valid_lft forever preferred_lft forever
2、开启网关服务器的路由转发功能。
[email protected] network-scripts]# vim /etc/sysctl.conf ................... net.ipv4.ip_forWARD = 1 [[email protected] network-scripts]# sysctl -p net.ipv4.ip_forWARD = 1
3、配置web服务器的网卡地址。
[[email protected] ~]# ip addr #查看已配置完成的IP地址信息 1: lo: <LOOPBACK,LOWER_UP> mtu 1500 1000 link/ether 00:0c:29:77:2c:03 brd ff:ff:ff:ff:ff:ff inet 192.168.2.10/24 brd 192.168.2.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::95f8:eeb7:2ed2:d13c/64 scope link noprefixroute valid_lft forever preferred_lft forever [[email protected] ~]# route -n #查看网关信息 Kernel IP routIng table DesTination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 100 0 0 ens33 .............................
二、网站服务器环境搭建:
[[email protected] ~]# systemctl start firewalld #启动防火墙 [[email protected] ~]# yum -y install httpd mod_ssl #安装httpd和mod_ssl [[email protected] ~]# systemctl start httpd #启动httpd服务 [[email protected] ~]# systemctl enable httpd #设置为开机自启动 [[email protected] ~]# vim /var/www/html/index.html #新建网站测试首页 <h1>this is intranet web test </h1> [[email protected] ~]# vim /etc/ssh/sshd_config #更改SSH的侦听端口(需关闭SELinux): ................ Port 2234 ................ [[email protected] ~]# systemctl restart sshd
三、在网站服务器上配置firewalld防火墙:
1、设置默认区域为dmz区域:
[[email protected] ~]# firewall-cmd --set-default-zone=dmz success
2、为dmz区域打开https服务并添加tcp的2344端口:
[[email protected] ~]# firewall-cmd --zone=dmz --add-service=https --peRMANent success [[email protected] ~]# firewall-cmd --zone=dmz --add-port=2234/tcp --peRMANent success
3、禁止ping:
[[email protected] ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --peRMANent success
4、因为已经更改了预定义SSH服务的默认端口,所以将预定义SSH服务移除:
[[email protected] ~]# firewall-cmd --zone=dmz --remove-service=ssh --peRMANent success
5、重新加载firewalld配置,并查看之前的配置:
[[email protected] ~]# firewall-cmd --reload success [[email protected] ~]# firewall-cmd --list-all dmz (activE) target: default icmp-block-inversion: no interfaces: ens33 sources: services: https ports: 2234/tcp protocols: masquerade: no forWARD-ports: source-ports: icmp-blocks: echo-request rich rules:
四、在网关服务器上配置firewalld防火墙:
1、将网卡添加至指定区域:
[[email protected] /]# systemctl start firewalld #启用防火墙 [[email protected] /]# firewall-cmd --set-default-zone=external #设置默认区域为external success [[email protected] /]# firewall-cmd --change-interface=ens37 --zone=trusted #将ens37添加至trusted区域 ThE interface is under control of NetworkManager,setTing zone to ‘trusted‘. success [[email protected] /]# firewall-cmd --change-interface=ens38 --zone=dmz #将ens38添加至dmz区域 ThE interface is under control of NetworkManager,setTing zone to ‘dmz‘. success
2、查看配置,并将配置保存到文件中,成为永久配置:
[[email protected] /]# firewall-cmd --get-active-zones dmz interfaces: ens38 external interfaces: ens33 trusted interfaces: ens37 [[email protected] /]# firewall-cmd --runtime-to-peRMANent #将 当前配置保存到文件中 success
3、在企业内网测试机上访问网站服务器,可以成功访问:
4、更改SSH的侦听端口,并重启服务(需关闭SELinux):
[[email protected] ~]# vim /etc/ssh/sshd_config ................ Port 2234 ................ [[email protected] ~]# systemctl restart sshd
5、配置external区域添加tcp的2234端口:
[[email protected] /]# firewall-cmd --zone=external --add-port=2234/tcp --peRMANent success
6、配置external区域移除SSH服务:
[[email protected] /]# firewall-cmd --zone=external --remove-service=ssh --peRMANent success
7、配置external区域禁止ping:
[[email protected] /]# firewall-cmd --zone=external --add-icmp-block=echo-request --peRMANent success
8、重新加载防火墙配置:
[[email protected] /]# firewall-cmd --reload success
以下开始测试ssh连接:
9、在互联网测试机通过SSH连接网关服务器的外部接口地址的2234端口:
[[email protected] ~]# ssh -p 2234 100.1.1.10 [email protected]‘s password: Last login: Tue Jun 18 05:34:03 2019 from 100.1.1.20 [[email protected] ~]#
10、使用内网测试机SH登录web网站服务器的2234端口:
[[email protected] /]# ssh -p 2234 192.168.2.10 [email protected]‘s password: Last login: Tue Jun 18 05:40:25 2019 from gateway [[email protected] ~]#
五、配置IP伪装与端口转发:
1、在公网测试机上搭建web服务,用于测试:
[[email protected] ~]# yum -y install httpd [[email protected] ~]# vim /var/www/html/index.html <h1> www.baidu.com</h1> [[email protected] ~]# systemctl enable httpd [[email protected] ~]# systemctl start httpd
2、在内部测试机和dmz的网站服务区都可以访问外网的网站(若访问不了,则可能是公网测试机的防火墙配置问题,可先将公网测试机的防火墙关闭,或放行相关服务的流量即可):
3、查看网关服务器的external区域是否开启了地址伪装:
[[email protected] ~]# firewall-cmd --list-all --zone=external external target: default icmp-block-inversion: no interfaces: sources: services: ssh ports: protocols: masquerade: yes #地址伪装已启用 forWARD-ports: sourceports: icmp-blocks: rich rules:
4、只为源地址192.168.1.0/24网段的地址开启地址IP伪装。
在网关服务器上关闭external默认的地址伪装,添加富规则,要求external区域内,源地址为192.168.1.0/24网段的地址开启地址IP伪装:
[@L_419_42@ ~]# firewall-cmd --remove-masquerade --zone=external success [[email protected] ~]# firewall-cmd --zone=external --add-rich-rule=‘rule family=ipv4 source address=192.168.1.0/24 masquerade‘ success
在dmz区域的网站服务器上测试,发现无法访问外网网站,但是内网测试机可以:
[[email protected] ~]# curl http://100.1.1.20 curl: (7) Failed connect to 100.1.1.20:80; 没有到主机的路由
5、配置端口转发实现互联网用户可以访问内部web服务器。
①在网关服务器下做如下配置:
[[email protected] ~]# firewall-cmd --zone=external --add-forWARD-port=port=443:proto=tcp:@R_489_9747@dr=192.168.2.10 success
②在互联网测试机上访问内网的web服务器成功,如下:
六、最后来一个使用富规则实现端口转发:
上述配置完成后,若现在公司申请了一个新的公网ip地址100.1.1.15,那么就需要重新做端口转发了:
1、将新申请的公网地址100.1.1.15配置在网关服务器的外网接口ens33上,作为第二个IP地址:
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static Ipaddr0=100.1.1.10 #从这行配置项开始,到下面第四行,属于配置IP地址 PREFIX0=24 Ipaddr1=100.1.1.15 PREFIX1=24 #只需改动以上四行即可 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=ens33 DEVICE=ens33 ONBOOT=yes ZONE=external [[email protected] ~]# ifdown ens33 && ifup ens33 #重启网卡,使配置生效 [[email protected] ~]# ip add #查看IP地址是否配置成功 1: lo: <LOOPBACK,LOWER_UP> mtu 65536 qdisc noqueue state default qlen 1000 link/loopBACk 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BroaDCAST,LOWER_UP> mtu 1500 qdisc UP group default qlen 1000 link/ether 00:0c:29:9a:09:98 brd ff:ff:ff:ff:ff:ff inet 100.1.1.10/24 brd 100.1.1.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet 100.1.1.15/24 brd 100.1.1.255 scope global secondary noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::2695:e1d7:cfa2:b427/64 scope link noprefixroute valid_lft forever preferred_lft forever
2、使用富规则配置端口转发:
[[email protected] ~]# firewall-cmd --zone=external --add-rich-rule=‘rule family=ipv4 desTination address=100.1.1.15/32 forWARD-port port=443 protocol=tcp to-addr=192.168.2.10‘ success
3、在互联网测试机上访问测试结果:
齐活.....................
以上是大佬教程为你收集整理的centos 7配置firewall防火墙的地址伪装和端口转发实例全部内容,希望文章能够帮你解决centos 7配置firewall防火墙的地址伪装和端口转发实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。