Какие шаги необходимо предпринять, чтобы вручную настроить общее подключение к Интернету?

Вы не отправили свой исходный код, но кажется, что вы вызываете mmap(), чтобы получить данные, которые хотите записать.

Я предполагаю, что вы сопоставили область файла, которая не предоставляет вам доступа для чтения.

Чтобы убедиться, что проблема не вызвана побочным эффектом с mmap(), вы должны позвонить

dd if=filename of=/dev/null

, чтобы проверить, существует ли проблема, когда вы определенно читаете только из исходного файла.

1
14.12.2020, 19:55
1 ответ

«Общее подключение к Интернету» не очень точно -определено. В принципе, вы можете «поделиться» своим «подключением к Интернету», просто включив маршрутизацию (, если она еще не включена ), и вручную настроив подключение к локальной сети на «совместно используемом ПК» и «другом ПК». Вам даже не нужен NAT.

А еще есть варианты запуска точки доступа WLAN и т.д. и т.п.

Тем не менее, вот скрипт, который я использую в своей системе systemd -и Networkmanages -less Devuan для NAT интерфейса, который может быть или не быть тем, что вы подразумеваете под «совместным доступом к интернету»:

#!/bin/bash

# masquerade $1 (e.g. eth0, ppp0) as $2 (default wlan0)

INTIF="$1"
EXTIF=${2:-wlan0}

echo $INTIF $EXTIF

modprobe nf_conntrack
modprobe nf_conntrack_ipv4
modprobe nf_nat
modprobe iptable_nat  

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

iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT 
iptables -P FORWARD DROP
iptables -F FORWARD 
iptables -t nat -F
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Некоторые вещи в этом скрипте не являются строго необходимыми, но я нахожу их удобными.

Если мне нужно запустить DHCP-сервер, я обычно запускаю dhcpd, предварительно настроив файл конфигурации.

0
18.03.2021, 22:43

Теги

Похожие вопросы