Как использовать определенный локальный IP вместо внешнего

Система crontabs

Если это системный уровень crontab записи (/etc/crontab), затем они пропускают имя пользователя, которое они должны выполнять как.

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

Пользователь crontab

Если, с другой стороны, они работают как как crontab пользователя (crontab -e) затем они работающий как пользователь kaiyin? Если не затем они не будут работать, потому что у пользователя, crontab которого это, нет доступа для чтения к /home/kaiyin.

2
27.08.2014, 19:49
2 ответа

Как было упомянуто @Patrick в одном из комментариев к моему вопросу я столкнулся с проблемой с моими правилами NAT iptables .

  • eth0 : внутренняя сеть, 192.168.1.200
  • eth1 : внешняя сеть, 192.168.0.2

Мое правило NAT было:

$ iptables -t nat -A POSTROUTING ! -o eth0 -j MASQUERADE

Это означает, что весь трафик, выходное целевое устройство которого не интерфейс eth0 будет замаскирован. То же самое происходит и с локальным трафиком, поскольку он исходит из интерфейса lo .

После исправления правила NAT iptables на:

$ iptables -t nat -A POSTROUTING ! -d 192.168.1.0/24 -j MASQUERADE

Моя проблема была решена!

2
27.01.2020, 21:52

Если у вас эта проблема с каждой запущенной программой, вы должны проверить правило брандмауэра вашего сервера. Убедитесь, что оно использует NAT только для внешнего назначения. Ваша таблица маршрутизации не имеет смысла, если у вас есть широкое правило NAT.

После исправления правила брандмауэра, для wget, вы можете использовать опцию --bind-address, чтобы выбрать, какой интерфейс вы хотите использовать:

wget --bind-address=192.168.1.200 http://192.168.1.200/

Из документации по wget wget:

'--bind-address=ADDRESS'

При создании клиентских TCP/IP соединений, привязывайте к ADDRESS на локальной Машина. АДРЕСС может быть указан в качестве имени хоста или IP-адреса. Настоящий сайт опция может быть полезна, если ваша машина привязана к нескольким IP-адресам.

Вы можете использовать файл .wgetrc , чтобы сделать его постоянным.

5
27.01.2020, 21:52

Теги

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