Вот очень простое iptables
ruleset, который подменяет все. Эти работы для многих более простых установок. Это не будет работать, если поле будет работать полноценным маршрутизатором — это имеет потенциально противную привычку к NATting весь трафик, который оставляет Ваш компьютер.
iptables -A POSTROUTING -o eth+ -t nat -j MASQUERADE
iptables -A POSTROUTING -o wlan+ -t nat -j MASQUERADE
Если простому решению не удается работать, или если Ваша конфигурация более сложна, этот ruleset мог бы помочь:
NATIF='vboxnet+'
MARK=1
iptables -A PREROUTING -t mangle -i $NATIF -j MARK --set-mark $MARK
iptables -A POSTROUTING -o eth+ -t nat -m mark --mark $MARK -j MASQUERADE
iptables -A POSTROUTING -o wlan+ -t nat -m mark --mark $MARK -j MASQUERADE
Это отмечает пакеты, входящие через любого vboxnet*
интерфейс, затем, позже, подмены (SNAT) любой пакетный выход eth*
или wlan*
с набором метки.
В дополнение к iptables
правила, необходимо будет превратить главный компьютер в маршрутизатор путем включения пакетной передачи. Поместите:
net.ipv4.ip_forward=1
в /etc/sysctl.conf
, затем скажите
sudo sysctl -p /etc/sysctl.conf.
Кроме того:
echo 1 | sudo tee /proc/sys/net/ipv4_ip_forward
У гостя должен также быть маршрут по умолчанию, что пакеты шлюзов через внешние интерфейсы хоста (и для этого, возможности являются режимом только для хоста, просто не будет работать). Проверьте его таблицу маршрутизации (это зависит от гостя ОС).
Кроме того, установка wireshark
или tshark
и используйте их для исследования пакетов. Нет никакого лучшего способа решить универсальные сетевые проблемы как этот.
Лично, я предложил бы изменить гостя для использования сетей режима моста и предоставления доступа, для него оба из интерфейсов хоста. Затем это может соединиться самостоятельно, с помощью сервиса DHCP на маршрутизатор для получения локального адреса самостоятельно. Никакой NAT не необходим.
На Солярисе некорневые пользователи должны смочь видеть, что экспорт NFS прибывает из других серверов:
[oracle@webfocus oracle]$ showmount -e ditirlns01
export list for ditirlns01:
/srv/adminMisc *
/srv/adminScripts *
/srv/automatedEmail *
/export/idmgr xxx.xxx.25.107
[oracle@webfocus oracle]$ uname -a
SunOS webfocus.ncat.edu 5.9 Generic_117171-07 sun4u sparc SUNW,Sun-Fire-280R
[oracle@webfocus oracle]$
"Программа, Не Зарегистрированная" просто, означает, что клиент пытался соединиться с данным сервером, успешно подключенным к части, это, как предполагается, предоставляет ONC услуги RPC, но что сервис ONC ответил назад, что ему не зарегистрировали программу в нем для предоставления требуемой услуги (в этом случае версия NFS вообще). Например, я получаю это, как раз когда корень, если я запрашиваю сервер Linux, это выполняет portmap, но ни один из сервисов NFS:
[root@webfocus root]# showmount -e ditirlns03
showmount: ditirlns03: RPC: Program not registered
[root@webfocus root]#
Только для полноты, это - ошибка для неспособности соединиться с сервером RPC вообще:
[root@webfocus root]# showmount -e ditirlns03
showmount: ditirlns03: RPC: Rpcbind failure - RPC: Unable to receive
[root@webfocus root]#
Долго и за исключением него: сверьтесь с удаленным сервером и попыткой выяснить, почему сервис NFS не регистрируется в сервере RPC ONC.
tail /var/log/messages
, для, например, – slm♦ 30.05.2013, 22:55