Маршрутизация интернет-трафика через другую подсеть на centos
Я очень новичок в маршрутизации Linux. Хотя я понимаю это концептуально, фактические команды маршрута избегают меня. Я попробовал ip route и ip rule самостоятельно, но они не сработали. Отсюда и вопрос здесь.
Вот мои текущие настройки. Сервер Centos с двумя сетевыми картами
eth0 (external and open to the internet)
- static IP: 192.168.13.10
- GW: 192.168.13.1
eth1 (internal private)
- static IP: 192.168.15.10
- GW: Not defined yet. (as I would imagine 192.168.13.1 to be catch all)
Клиент Centos с одним NIC
eth0
- Static IP: 192.168.15.200
- GW: 192.168.15.10
Во-первых, я бы хотел, чтобы клиент Centos мог подключаться к Интернету только через сервер Centos. Я знаю, что мне не хватает какой-либо формы записи таблицы маршрутизации для работы выше. Может ли кто-нибудь указать мне на это?
Во-вторых, я бы хотел, чтобы клиент Centos получал IP-адрес от сервера Centos. У меня установлен dhcpd на сервере Centos. Так что достаточно просто изменить booproto в скрипте ifcfg-eth0 (со статического на dhcp) или требуются какие-либо изменения маршрутизации на клиенте centos?
2 ответа
Джон прав, но некоторые необязательные правила брандмауэра не являются обязательными, но обязательными. Для маршрутизации трафика в Интернет вам нужна переадресация IP, как объяснил Джон, но вам также понадобится маскарадинг IP (NAT).
Отредактируйте /etc/sysctl.conf и добавьте
net.ipv4.conf.default.forwarding=1
Перезапустите сетевой сервис
service network restart
Теперь вам понадобится правило iptables "NAT":
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Я не слишком знаком с CentOS, но, возможно, вам нужно перезапустить службу или проблему iptables iptables save
(или оба).
Ваша настройка в том виде, в каком она существует, является правильной, но неполной. Вам необходимо включить пересылку пакетов на сервере CentOS и, при желании, какой-нибудь брандмауэр, чтобы заблокировать нежелательный трафик. Ваши клиенты уже пытаются пройти через сервер, чтобы попасть в Интернет, они просто не могут этого сделать, пока вы не включите пересылку пакетов как минимум.
DHCP - это отдельная проблема, но опять же, для клиентов не требуется изменение маршрутизации - если DHCP-сервер предоставляет клиенту ту же IP-информацию, что и сейчас, он будет работать так, как вы ожидаете.