Я настраиваю NAT для подключенного маршрутизатора к моему ноутбуку, используя следующую команду (переадресация IP включена):
sudo iptables -t nat -A POSTROUTING -s 192.168.47.0/24 -o eth0 -j MASQUERADE
Так что в основном у меня есть eth0, который является локальной сетью моего ноутбука, и USB-CAT5-соединение от моего ноутбука к беспроводному маршрутизатору, это eth1. И я назначаю статический IP моему интерфейсу eth1 (то есть подключенному к беспроводному маршрутизатору), используя следующую команду:
sudo ifconfig eth1 192.168.47.1 netmask 255.255.255.0 up
И я запускаю ifconfig, чтобы убедиться, что eth1 имеет этот IP-адрес:
eth0 Link encap:Ethernet HWaddr 28:d2:44:77:39:0e
inet addr:129.46.79.72 Bcast:129.46.79.255 Mask:255.255.254.0
inet6 addr: 2002:c023:9c17:118:f5ea:ed5a:6c19:138d/64 Scope:Global
inet6 addr: fe80::2ad2:44ff:fe77:390e/64 Scope:Link
inet6 addr: 2002:c023:9c17:118:2ad2:44ff:fe77:390e/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:289511 errors:0 dropped:324 overruns:0 frame:0
TX packets:103659 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:87784569 (87.7 MB) TX bytes:26739445 (26.7 MB)
Interrupt:20 Memory:f0600000-f0620000
eth1 Link encap:Ethernet HWaddr 00:50:b6:0a:4c:5e
inet addr:192.168.47.1 Bcast:192.168.47.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:2268 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:104328 (104.3 KB) TX bytes:0 (0.0 B)
Настройки маршрутизатора настроены. Моя проблема в том, что когда я подключен к маршрутизатору, у меня нет подключения к интернету. Может ли кто-нибудь помочь мне с этим?
Также необходимо сказать машине, что это действует как маршрутизатор для передачи пакетов, которые она получает, и настройте шлюз по умолчанию, используйте эту команду:
sudo sysctl net/ipv4/ip_forward=1
Для добавления шлюза по умолчанию также добавьте:
sudo route add -net default gw X.X.X.X
, Где X.X.X.X является IP Вашего беспроводного маршрутизатора.
Протестируйте это:
sudo su
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 192.168.47.0/24 -i eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.47.0/24 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward