Clase 12: Firewall IPTABLES Experimento integral
Directorio de artículos
12.1 Requisitos experimentales
Topología (versión de texto):
A (.1) -LAN ( 172.16.10.0/24)-(eth0:0 interfaz: 10.254) B (eth0 interfaz: 6.146) -Internet ( 192.168.6.0/24)-(6.128 ) C
Reclamación:
1. Haga ping 172.16.20.2 en A
2. En C, ssh [email protected] salta al host A en la LAN
rápido:
-
Todas las máquinas virtuales usan el modo NAT
-
La puerta de enlace A apunta a 172.16.10.254
-
B como puerta de enlace, configure la política NAT
-
B puede usar el alias de la tarjeta de red para configurar varias direcciones, ifconfig eth0: 0 xxxx natmask xxxx
-
B es para el sistema Centos 6.x
12.2 Preparación del experimento
- Prepare 3 máquinas virtuales, una PC1 cliente de intranet, una máquina virtual PC2 (Centos6.9) para el reenvío de NAT y una máquina virtual externa PC3
- La topología es la siguiente:
12.3 Configuración de red PC1
- Configurar la red
[root@localhost ~]vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static #手动配置
IPADDR=172.16.10.1 #内网ip
NETMASK=255.255.255.0 #掩码
GATEWAY=172.16.10.254 #默认网关
DNS=114.114.114.114
[root@localhost ~]service network restart #文件保存后 重启服务
En la figura siguiente se puede ver que la configuración de la tarjeta de red de la PC1 se realizó correctamente.
[root@localhost ~]ifconfig
Puede verse en la figura siguiente: PC1 puede hacer ping a PC2 en la intranet
[root@localhost ~]ping 172.16.10.254 #ping PC2
12.4 Configuración de firewall y tarjeta de red PC2
- Configurar tarjeta de red
[root@lin ~]# ifconfig eth0:0 172.16.10.254 netmask 255.255.255.0 up #网卡配置
[root@lin ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:DD:00:64
inet addr:192.168.6.146 Bcast:192.168.6.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fedd:64/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7701 errors:0 dropped:0 overruns:0 frame:0
TX packets:167 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:476055 (464.8 KiB) TX bytes:18437 (18.0 KiB)
#网卡已经启动使用
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:DD:00:64
inet addr:172.16.10.254 Bcast:172.16.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
- Configurar firewall
#清除防火墙规则
[root@lin ~]# iptables -F
#调整内核参数,开启ip路由转发功能
[root@lin ~]# echo 1 >/proc/sys/net/ipv4/ip_forward
[root@lin ~]# cat /proc/sys/net/ipv4/ip_forward
1
#nat设置
#在POSTROUTING链上:PC2对来自网卡接口eth0:0的ip地址进行nat转换,数据包源地址改为PC2的在网卡接口eth0的地址
[root@lin ~]# iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -j SNAT --to-source 192.168.6.146
#在PREROUTING链上,对来自外网192.168.6.0/24的ip主机对PC2发起的ssh连接请求进行连接跳转,跳转到内网ip:172.16.10.1对应22号端口
[root@lin ~]# iptables -t nat -A PREROUTING -d 192.168.6.146 -s 192.168.6.0/24 -p tcp --dport 22 -j DNAT --to 172.16.10.1:22
#在FORWARD链上 ,允许目的地址为内网ip:172.16.10.1的tcp包通过
[root@lin ~]# iptables -A FORWARD -d 172.16.10.1 -p tcp --dport 22 -j ACCEPT
12.5 Prueba
1. ping
Se puede ver en la siguiente figura: PC1 en la red interna hace ping a PC3 en la red externa
#在PC1:172.16.10.1测试
[root@localhost ~]ping 192.168.6.128
2. ssh
Se puede ver en la siguiente figura: PC3 desde la red externa inicia una conexión SSH a PC2 (192.168.6.146). Una vez que la conexión es exitosa, verifique la dirección de interfaz de la tarjeta de red y encuentre que es la dirección IP de PC3 (172.16.10.1), lo que indica que PC2 completó exitosamente el salto SSH e inició sesión en PC1.
#在PC3:192.168.6.128测试
[root@localhost ~]ssh root@192.168.6.146 #向PC2发起ssh连接请求
root@192.168.6.146's password: #此处输入的是PC1:172.16.10.1的root密码
[root@localhost ~]iconfig