우분투22.04에서 와이파이핫스팟을 했는데. 연결된 클라이언트들이 인터넷이 안된다.
이유를 gpt에 물어봤더니. 보안상 masquerade와 forwarding을 drop시켰다.
이것들을 동작시 활성화 하도록 스크립트를 추가한다.
sudo vi /etc/NetworkManager/dispatcher.d/90-hotspot-nat.sh
#!/bin/bash
IFACE="$1"
STATUS="$2"
# 핫스팟 인터페이스명(수정 필요할 수도 있음)
HOTSPOT_IF="wlp0s20f3"
# 유선인터페이스 자동 탐색
eth_if=$(ip -o link show | awk -F': ' '{print $2}' | grep -E '^en' | grep -v 'br' | grep -v 'docker' | grep -v 'veth' | grep -v 'lo' | head -n1)
if [ "$IFACE" = "$HOTSPOT_IF" ] && [ "$STATUS" = "up" ]; then
# NAT 추가 (중복 X)
if ! iptables -t nat -C POSTROUTING -s 10.42.0.0/24 -o $eth_if -j MASQUERADE 2>/dev/null; then
iptables -t nat -A POSTROUTING -s 10.42.0.0/24 -o $eth_if -j MASQUERADE
fi
# FORWARD 체인 정책 허용
iptables -P FORWARD ACCEPT
fi
IFACE="$1"
STATUS="$2"
# 핫스팟 인터페이스명(수정 필요할 수도 있음)
HOTSPOT_IF="wlp0s20f3"
# 유선인터페이스 자동 탐색
eth_if=$(ip -o link show | awk -F': ' '{print $2}' | grep -E '^en' | grep -v 'br' | grep -v 'docker' | grep -v 'veth' | grep -v 'lo' | head -n1)
if [ "$IFACE" = "$HOTSPOT_IF" ] && [ "$STATUS" = "up" ]; then
# NAT 추가 (중복 X)
if ! iptables -t nat -C POSTROUTING -s 10.42.0.0/24 -o $eth_if -j MASQUERADE 2>/dev/null; then
iptables -t nat -A POSTROUTING -s 10.42.0.0/24 -o $eth_if -j MASQUERADE
fi
# FORWARD 체인 정책 허용
iptables -P FORWARD ACCEPT
fi
nmcli con modify Hotspot wifi-sec.key-mgmt wpa-psk
nmcli con modify Hotspot wifi-sec.pmf default
#nmcli con down Hotspot && nmcli con up Hotspot
sudo chmod +x /etc/NetworkManager/dispatcher.d/90-hotspot-nat.sh
댓글 없음:
댓글 쓰기