echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t nat -A POSTROUTING -s * -j MASQUERADE
Предположим, что у вас есть машина, подключенная к интернету и требуется раздать его на другие компьютеры.
Интернет ------> |пк1 (шлюз)| --->пк2(свитч)..и т.д
Исходные данные:
Оба компьютера соединены по сети.
На пк1 установлено 2 сетевые карты:
- eth0 - к ней подключен интернетeт
- eth1 - к ней подключена локальная сеть
Настройте вторую карту (eth1) так:
IP: 192.168.0.1
Netmask: 255.255.255.0
Netmask: 255.255.255.0
или введите в консоли:
ifconfig eth1 192.168.0.1 netmask 255.255.255.0
ifconfig eth1 up
Чтобы сделать это, отредактируйте /etc/sysctl.conf: вставьте строчку
net.ipv4.ip_forward=1
Выполните:
sysctl -w net.ipv4.ip_forward="1"
для того, чтобы применить это правило до перезагрузки
Установите iptables, введите следующее правило (для передачи интернета второму компьютеру) и сохраните его.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Установите и запустите dnsmasq (или, вы можете использовать DNS провайдера).
Установите на втором компьютере:
IP: 192.168.0.2
Netmask/Маска: 255.255.255.0
Gateway/Шлюз: 192.168.0.1
DNS: 192.168.0.1
IP: 192.168.0.2
Netmask/Маска: 255.255.255.0
Gateway/Шлюз: 192.168.0.1
DNS: 192.168.0.1
Второй компьютер теперь должен быть подключён к интернету.
Если после перезагрузки правила iptables не восстанавливаются, добавьте
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
в любой стартовый скрипт (rc.local например)
Комментариев нет:
Отправить комментарий