Friday, June 13, 2025

ALPINE LINUX share internet 2 nic

#!/bin/sh


# Enable IP forwarding

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

sysctl -p


# Install required packages

apk add iptables iptables-openrc dnsmasq


# Configure iptables for NAT

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

iptables -A FORWARD -i eth1 -j ACCEPT


# Save iptables rules

mkdir -p /etc/iptables

iptables-save > /etc/iptables/rules-save


# Enable iptables service at boot

rc-update add iptables default


# Assign static IP to eth1

cat <<EOF > /etc/network/interfaces

auto lo

iface lo inet loopback


auto eth0

iface eth0 inet dhcp


auto eth1

iface eth1 inet static

    address 192.168.100.1

    netmask 255.255.255.0

EOF


# Enable networking service at boot

rc-update add networking default


# Configure dnsmasq

cat <<EOF > /etc/dnsmasq.conf

interface=eth1

dhcp-range=192.168.100.50,192.168.100.150,12h

dhcp-option=3,192.168.100.1

dhcp-option=6,8.8.8.8

EOF


# Enable and start dnsmasq

rc-update add dnsmasq default

rc-service dnsmasq restart


echo "Internet sharing setup complete and persistent across reboots."