[2] Firewalld – NAT (maskarada)
8 marca 2022To jest przykład konfiguracji maskarady IP w Firewalld. Ten przykład jest oparty na środowisku, jak poniżej.
[1] Zmień strefy dla poszczególnych interfejsów.
# pokaż aktualne ustawienia [root@router ~]# firewall-cmd --get-active-zone public interfaces: ens160 ens192 # zmień strefy [root@router ~]# nmcli connection modify ens160 connection.zone external [root@router ~]# nmcli connection modify ens192 connection.zone internal [root@router ~]# firewall-cmd --get-active-zone external interfaces: ens160 internal interfaces: ens192
[2] Ustaw maskaradę dla strefy [External].
# ustaw maskaradę IP [root@router ~]# firewall-cmd --zone=external --add-masquerade success [root@router ~]# firewall-cmd --runtime-to-permanent Success # pokaż ustawienia [root@router ~]# firewall-cmd --zone=external --query-masquerade Yes # [ip_forward] jest włączane automatycznie, gdy włączymy maskaradę [root@router ~]# cat /proc/sys/net/ipv4/ip_forward 1
[3] Na przykład skonfiguruj, aby pakiety przychodzące do portu 22 strefy zewnętrznej były przekazywane do lokalnego portu 1234. Jeżeli chcesz zachować ustawienia po restarcie dodaj opcję [–permanent].
[root@router ~]# firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=1234 success [root@router ~]# firewall-cmd --list-all --zone=external external (active) target: default icmp-block-inversion: no interfaces: ens160 sources: services: ssh ports: protocols: forward: no masquerade: yes forward-ports: port=22:proto=tcp:toport=1234:toaddr= source-ports: icmp-blocks: rich rules:
[4] Na przykład skonfiguruj, aby pakiety przychodzące do portu 22 strefy zewnętrznej były przekazywane do innego hosta [192.168.200.108] portu 22.
[root@router ~]# firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=22:toaddr=192.168.200.108 success [root@router ~]# firewall-cmd --list-all --zone=external external (active) target: default icmp-block-inversion: no interfaces: ens160 sources: services: ssh ports: protocols: forward: no masquerade: yes forward-ports: port=22:proto=tcp:toport=1234:toaddr= port=22:proto=tcp:toport=22:toaddr=192.168.200.108 source-ports: icmp-blocks: rich rules:
[5] Na przykład skonfiguruj, aby pakiety wychodzące przez serwer z sieci wewnętrznej [192.168.200.0/24] były dozwolone i przekazywane do strony zewnętrznej.
# ustaw maskaradę dla strefy wewnętrznej [Internal] [root@router ~]# firewall-cmd --zone=internal --add-masquerade success [root@router ~]# firewall-cmd --runtime-to-permanent success [root@router ~]# firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o ens160 -j MASQUERADE success [root@router ~]# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens192 -o ens160 -j ACCEPT success [root@router ~]# firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens160 -o ens192 -m state --state RELATED,ESTABLISHED -j ACCEPT success