Duvidas Com Linux

1. Duvidas Com Linux

Delilah
Huckaback

(usa Outra)

Enviado em 17/02/2026 - 07:02h

Estou tentando compartilhar a internet do meu minipc com Debian 12, da lan enp1s0 pra lan enp2so, dei os comandos abaixo:

echo 1 > /proc/sys/net/ipv4/ip_forward

modprobe iptable_nat

iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE


Criei o scrip abaixo em etc/rc.local

#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
exit 0


E dei o comando
chmode +x /rc.local

E Dei o comando
chmod +x /etc/rc.local


Mas o comando não fica salvo no iptables.

Tem diferença em estar com o Iptables ou Ufw na máquina? O ufw salvaria este comando direto no iptables, ou só o iptables persistente?

Eu queria fazer o nat direto no Nftables, mas não achei tutoriais bons, se me passarem os comandos, eu faço.

Minha rede eu quero setar ip fixo na primeira lan, enp1s0 192.168.1.254 e ip 192.168.2.100, na segunda lan enp2s0.


  


2. Re: Duvidas Com Linux

Buckminster
Buckminster

(usa Void Linux)

Enviado em 17/02/2026 - 22:48h

Entre no diretório:
$ cd /etc/sysctl.d

Crie o arquivo:
$ sudo vim 10-ip_forward.conf <<< Uso o vim, use teu editor preferido.
Coloque dentro:
net.ipv4.ip_forward = 1
Salve e saia.

Habilite:
$ sudo sysctl -p /etc/sysctl.d/10-ip_forward.conf
Deverá aparecer:
net.ipv4.ip_forward = 1

Verifique:
$ cat /proc/sys/net/ipv4/ip_forward
Aparecerá 1.


$ sudo apt update
$ sudo apt install nftables
$ sudo vim /etc/nftables.conf <<< Uso o vim, use teu editor preferido.
Coloque dentro:

#!/usr/sbin/nft -f

flush ruleset

############################
# FILTER
############################
table inet filter {

chain input {
type filter hook input priority 0; policy drop;

# Loopback
iif lo accept

# Conexoes ja estabelecidas
ct state invalid drop
ct state established,related accept
tcp dport { 22, 80, 443 } ct state new accept
ip protocol icmp accept
}
chain forward {
type filter hook forward priority 0; policy drop;

# Conexoes ja estabelecidas
ct state invalid drop
ct state established,related accept

# LAN -> Internet
iifname "enp2s0" oifname "enp1s0" accept

# (Opcional) LAN -> LAN roteado
iifname "enp2s0" oifname "enp2s0" accept
ip protocol icmp accept
}
chain output {
type filter hook output priority 0; policy drop;

# Conexoes ja estabelecidas
ct state invalid drop
ct state established,related accept
tcp dport { 22, 80, 443 } ct state new accept

# DNS
udp dport 53 accept
tcp dport 53 accept
ip protocol icmp accept
}
}
############################
# NAT
############################
table ip nat {

chain prerouting {
type nat hook prerouting priority 0;
}

chain postrouting {
type nat hook postrouting priority 100;

# Masquerade para a internet
oifname "enp1s0" masquerade # Placa de rede da internet
}
}

Salve e saia.

$ sudo systemctl enable nftables
$ sudo systemctl start nftables
$ sudo systemctl status nftables

E desabilite IPtables, UFW, etc, caso tiver.
E tire aquele rc.local.
É um nftables.conf básico, mas para rotear já serve.
A placa enp1s0 deve ser aquela que recebe a internet, a placa enp2s0 é a placa que sairá a internet para um switch ou para outro computador.


_________________________________________________________
Rule number one: Always listen 'to' Buck!
Enquanto o cursor estiver pulsando, há vida!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts